dng_iptc Class Reference

Class for reading and holding IPTC metadata associated with a DNG file. More...

#include <dng_iptc.h>

List of all members.


Public Member Functions

bool IsEmpty () const
bool NotEmpty () const
void Parse (const void *blockData, uint32 blockSize, uint64 offsetInOriginalFile)
dng_memory_blockSpool (dng_memory_allocator &allocator, bool padForTIFF)

Public Attributes

bool fForceUTF8
dng_string fTitle
int32 fUrgency
dng_string fCategory
dng_string_list fSupplementalCategories
dng_string_list fKeywords
dng_string fInstructions
dng_date_time_info fDateTimeCreated
dng_string fAuthor
dng_string fAuthorsPosition
dng_string fCity
dng_string fState
dng_string fCountry
dng_string fCountryCode
dng_string fLocation
dng_string fTransmissionReference
dng_string fHeadline
dng_string fCredit
dng_string fSource
dng_string fCopyrightNotice
dng_string fDescription
dng_string fDescriptionWriter

Protected Types

enum  DataSet {
  kRecordVersionSet = 0, kObjectNameSet = 5, kUrgencySet = 10, kCategorySet = 15,
  kSupplementalCategoriesSet = 20, kKeywordsSet = 25, kSpecialInstructionsSet = 40, kDateCreatedSet = 55,
  kTimeCreatedSet = 60, kBylineSet = 80, kBylineTitleSet = 85, kCitySet = 90,
  kSublocationSet = 92, kProvinceStateSet = 95, kCountryCodeSet = 100, kCountryNameSet = 101,
  kOriginalTransmissionReferenceSet = 103, kHeadlineSet = 105, kCreditSet = 110, kSourceSet = 115,
  kCopyrightNoticeSet = 116, kCaptionSet = 120, kCaptionWriterSet = 122
}
enum  CharSet { kCharSetUnknown = 0, kCharSetUTF8 = 1 }

Protected Member Functions

void ParseString (dng_stream &stream, dng_string &s, CharSet charSet)
void SpoolString (dng_stream &stream, const dng_string &s, uint8 dataSet, uint32 maxChars, CharSet charSet)
bool SafeForSystemEncoding () const

Static Protected Member Functions

static bool SafeForSystemEncoding (const dng_string &s)
static bool SafeForSystemEncoding (const dng_string_list &list)

Detailed Description

Class for reading and holding IPTC metadata associated with a DNG file.

See the IPTC specification for information on member fields of this class.


Member Function Documentation

bool dng_iptc::IsEmpty (  )  const

Test if IPTC metadata exists.

Return values:
true if no IPTC metadata exists for this DNG.

References NotEmpty().

Referenced by NotEmpty().

bool dng_iptc::NotEmpty (  )  const [inline]

Test if IPTC metadata exists.

Return values:
true if IPTC metadata exists for this DNG.

References IsEmpty().

Referenced by IsEmpty().

void dng_iptc::Parse ( const void *  blockData,
uint32  blockSize,
uint64  offsetInOriginalFile 
)

Parse a complete block of IPTC data.

Parameters:
blockData The block of IPTC data.
blockSize Size in bytes of data block.
offsetInOriginalFile Used to enable certain file patching operations such as updating date/time in place.

References dng_stream::Get(), dng_stream::Get_int8(), dng_stream::Get_uint16(), dng_stream::Get_uint8(), dng_stream::Length(), dng_stream::Position(), dng_stream::SetBigEndian(), and dng_stream::SetReadPosition().

dng_memory_block * dng_iptc::Spool ( dng_memory_allocator allocator,
bool  padForTIFF 
)

Serialize IPTC data to a memory block.

Parameters:
allocator Memory allocator used to acquire memory block.
padForTIFF Forces length of block to be a multiple of four bytes in accordance with TIFF standard.
Return values:
Memory block

References dng_stream::AsMemoryBlock(), DNG_ASSERT, dng_stream::Flush(), dng_stream::Length(), dng_stream::Put(), dng_stream::Put_uint16(), dng_stream::Put_uint8(), and dng_stream::SetBigEndian().


The documentation for this class was generated from the following files:

Copyright © 2006-2009 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google