Exiv2 Namespace Reference

Get the text value of an XmpDatum pos. Convert string charset with iconv. More...


Classes

class  Exiv2::BasicIo
 An interface for simple binary IO. More...
class  Exiv2::IoCloser
 Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable in functions that need to ensure BasicIo instances get closed. Useful when functions return errors from many locations. More...
class  Exiv2::FileIo
 Provides binary file IO by implementing the BasicIo interface. More...
class  Exiv2::MemIo
 Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write implementation ensures that the data passed in is only copied when necessary, i.e., as soon as data is written to the MemIo. The original data is only used for reading. If writes are performed, the changed data can be retrieved using the read methods (since the data used in construction is never modified). More...
class  Exiv2::BmpImage
 Class to access Windows bitmaps. This is just a stub - we only read width and height. More...
class  Exiv2::CanonMakerNote
 MakerNote for Canon cameras. More...
class  Exiv2::Converter
 Metadata conversions. More...
struct  Exiv2::Converter::Conversion
 Structure to define conversions between two keys. More...
class  Exiv2::Cr2Image
 Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Exiv2::Cr2Parser
 Stateless parser class for data in CR2 format. Images use this class to decode and encode CR2 data. See class TiffParser for details. More...
class  Exiv2::CrwImage
 Class to access raw Canon CRW images. Only Exif metadata and a comment are supported. CRW format does not contain IPTC metadata. More...
class  Exiv2::CrwParser
struct  Exiv2::RecordInfo
 Details of an IPTC record. More...
struct  Exiv2::DataSet
 Details of an IPTC dataset. More...
class  Exiv2::IptcDataSets
 IPTC dataset reference, implemented as a static class. More...
class  Exiv2::IptcKey
 Concrete keys for IPTC metadata. More...
class  Exiv2::AnyError
 Error class interface. Allows the definition and use of a hierarchy of error classes which can all be handled in one catch block. Inherits from the standard exception base-class, to make life easier for library users (they have the option of catching most things via std::exception). More...
class  Exiv2::Error
 Simple error class used for exceptions. An output operator is provided to print errors to a stream. More...
struct  Exiv2::PreviewTags
class  Exiv2::Exifdatum
 An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these. More...
class  Exiv2::ExifThumbC
 Access to a Exif thumbnail image. This class provides higher level accessors to the thumbnail image that is optionally embedded in IFD1 of the Exif data. These methods do not write to the Exif metadata. Manipulators are provided in subclass ExifThumb. More...
class  Exiv2::ExifThumb
 Access and modify an Exif thumbnail image. This class implements manipulators to set and erase the thumbnail image that is optionally embedded in IFD1 of the Exif data. Accessors are provided by the base class, ExifThumbC. More...
class  Exiv2::ExifData
 A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifdatum objects. More...
class  Exiv2::ExifParser
 Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data. More...
class  Exiv2::FujiMakerNote
 MakerNote for Fujifilm cameras. More...
class  Exiv2::GifImage
 Class to access raw GIF images. Exif/IPTC metadata are supported directly. More...
class  Exiv2::Image
 Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2 library. More...
class  Exiv2::ImageFactory
 Returns an Image instance of the specified type. More...
class  Exiv2::Iptcdatum
 An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these. More...
class  Exiv2::IptcData
 A container for IPTC data. This is a top-level class of the Exiv2 library. More...
class  Exiv2::IptcParser
 Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data. More...
class  Exiv2::Jp2Image
 Class to access JPEG-2000 images. More...
struct  Exiv2::Photoshop
 Helper class, has methods to deal with Photoshop "Information Resource Blocks" (IRBs). More...
class  Exiv2::JpegBase
 Abstract helper base class to access JPEG images. More...
class  Exiv2::JpegImage
 Class to access JPEG images. More...
class  Exiv2::ExvImage
 Helper class to access Exiv2 files. More...
class  Exiv2::Key
 Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata. More...
class  Exiv2::Metadatum
 Abstract base class defining the interface to access information related to one metadata tag. More...
class  Exiv2::MinoltaMakerNote
 MakerNote for Minolta cameras. More...
class  Exiv2::MrwImage
 Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Exiv2::Nikon1MakerNote
 A MakerNote format used by Nikon cameras, such as the E990 and D1. More...
class  Exiv2::Nikon2MakerNote
 A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950. More...
class  Exiv2::Nikon3MakerNote
 A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70. More...
class  Exiv2::OlympusMakerNote
 MakerNote for Olympus cameras. More...
class  Exiv2::OrfImage
 Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Exiv2::OrfParser
 Stateless parser class for data in ORF format. Images use this class to decode and encode ORF data. See class TiffParser for details. More...
class  Exiv2::PanasonicMakerNote
 MakerNote for Panasonic cameras. More...
class  Exiv2::PentaxMakerNote
 MakerNote for Pentaxfilm cameras. More...
class  Exiv2::PgfImage
 Class to access PGF images. Exif and IPTC metadata are supported directly. More...
class  Exiv2::PngImage
 Class to access PNG images. Exif and IPTC metadata are supported directly. More...
struct  Exiv2::PreviewProperties
 Preview image properties. More...
class  Exiv2::PreviewImage
 Class that holds preview image properties and data buffer. More...
class  Exiv2::PreviewManager
 Class for extracting preview images from image metadata. More...
struct  Exiv2::XmpKey::Impl
 IGNORE Internal Pimpl structure with private members and data of class XmpKey. More...
struct  Exiv2::XmpPropertyInfo
 Information about one XMP property. More...
struct  Exiv2::XmpNsInfo
 Structure mapping XMP namespaces and (preferred) prefixes. More...
struct  Exiv2::XmpNsInfo::Prefix
 For comparison with prefix. More...
struct  Exiv2::XmpNsInfo::Ns
 For comparison with namespace. More...
class  Exiv2::XmpProperties
 XMP property reference, implemented as a static class. More...
class  Exiv2::XmpKey
 Concrete keys for XMP metadata. More...
class  Exiv2::PsdImage
 Class to access raw Photoshop images. More...
class  Exiv2::RafImage
 Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Exiv2::Rw2Image
 Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC and XMP are read from the Exif data, if present. More...
class  Exiv2::Rw2Parser
 Stateless parser class for data in RW2 format. Images use this class to decode and encode RW2 data. Only decoding is currently implemented. See class TiffParser for details. More...
class  Exiv2::SigmaMakerNote
 MakerNote for Sigma (Foveon) cameras. More...
class  Exiv2::SonyMakerNote
 MakerNote for Sony cameras. More...
struct  Exiv2::IfdInfo
 The details of an IFD. More...
struct  Exiv2::SectionInfo
 The details of a section. More...
struct  Exiv2::TagInfo
 Tag information. More...
struct  Exiv2::TagDetails
 Helper structure for lookup tables for translations of numeric tag values to human readable labels. More...
struct  Exiv2::TagDetailsBitmask
 Helper structure for lookup tables for translations of bitmask values to human readable labels. More...
struct  Exiv2::TagVocabulary
 Helper structure for lookup tables for translations of controlled vocabulary strings to their descriptions. More...
class  Exiv2::ExifTags
 Exif tag reference, implemented as a static class. More...
class  Exiv2::ExifKey
 Concrete keys for Exif metadata. More...
class  Exiv2::TgaImage
 Class to access raw TARGA images. This is just a stub - we only read width and height. More...
class  Exiv2::TiffImage
 Class to access TIFF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Exiv2::TiffParser
 Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF data. It is a wrapper of the internal class Internal::TiffParserWorker. More...
class  Exiv2::TypeInfo
 Type information lookup functions. Implemented as a static class. More...
struct  Exiv2::DataBufRef
 Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See http://www.josuttis.com/libbook/auto_ptr.html for a discussion. More...
class  Exiv2::DataBuf
 Utility class containing a character array. All it does is to take care of memory allocation and deletion. Its primary use is meant to be as a stack variable in functions that need a temporary data buffer. More...
class  Exiv2::Value
 Common interface for all types of values used with metadata. More...
class  Exiv2::DataValue
 Value for an undefined data type. More...
class  Exiv2::StringValueBase
 Abstract base class for a string based Value type. More...
class  Exiv2::StringValue
 Value for string type. More...
class  Exiv2::AsciiValue
 Value for an Ascii string type. More...
class  Exiv2::CommentValue
 Value for an Exif comment. More...
struct  Exiv2::CommentValue::CharsetTable
 Information pertaining to the defined character sets. More...
class  Exiv2::CommentValue::CharsetInfo
 Charset information lookup functions. Implemented as a static class. More...
class  Exiv2::XmpValue
 Base class for all Exiv2 values used to store XMP property values. More...
class  Exiv2::XmpTextValue
 Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed into specific values. More...
class  Exiv2::XmpArrayValue
 Value type for simple arrays. Each item in the array is a simple value, without qualifiers. The array may be an ordered (seq), unordered (bag) or alternative array (alt). The array items must not contain qualifiers. For language alternatives use LangAltValue. More...
class  Exiv2::LangAltValue
 Value type for XMP language alternative properties. More...
class  Exiv2::DateValue
 Value for simple ISO 8601 dates More...
struct  Exiv2::DateValue::Date
 Simple Date helper structure. More...
class  Exiv2::TimeValue
 Value for simple ISO 8601 times. More...
struct  Exiv2::TimeValue::Time
 Simple Time helper structure. More...
class  Exiv2::ValueType< T >
 Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals. More...
struct  Exiv2::Xmpdatum::Impl
 Internal Pimpl structure of class Xmpdatum. More...
class  Exiv2::Xmpdatum
 Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provides methods to manipulate these. More...
class  Exiv2::XmpData
 A container for XMP data. This is a top-level class of the Exiv2 library. More...
class  Exiv2::XmpParser
 Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets. The parser uses the XMP toolkit to do the job. More...
class  Exiv2::XmpSidecar
 Class to access XMP sidecar files. They contain only XMP metadata. More...

Functions printing interpreted tag values

std::ostream & printValue (std::ostream &os, const Value &value, const ExifData *)
 Default print function, using the Value output operator.
std::ostream & printLong (std::ostream &os, const Value &value, const ExifData *)
 Print the value converted to a long.
std::ostream & printFloat (std::ostream &os, const Value &value, const ExifData *)
 Print a Rational or URational value in floating point format.
std::ostream & printDegrees (std::ostream &os, const Value &value, const ExifData *)
 Print a longitude or latitude value.
std::ostream & printUcs2 (std::ostream &os, const Value &value, const ExifData *)
 Print function converting from UCS-2LE to UTF-8.
std::ostream & printExifUnit (std::ostream &os, const Value &value, const ExifData *metadata)
 Print function for Exif units.
std::ostream & print0x0000 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS version.
std::ostream & print0x0005 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS altitude ref.
std::ostream & print0x0006 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS altitude.
std::ostream & print0x0007 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS timestamp.
std::ostream & print0x0009 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS status.
std::ostream & print0x000a (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS measurement mode.
std::ostream & print0x000c (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS speed ref.
std::ostream & print0x0019 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS destination distance ref.
std::ostream & print0x001e (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS differential correction.
std::ostream & print0x0112 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print orientation.
std::ostream & print0x0213 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print YCbCrPositioning.
std::ostream & print0x8298 (std::ostream &os, const Value &value, const ExifData *)
 Print the copyright.
std::ostream & print0x829a (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure time.
std::ostream & print0x829d (std::ostream &os, const Value &value, const ExifData *)
 Print the f-number.
std::ostream & print0x8822 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print exposure program.
std::ostream & print0x8827 (std::ostream &os, const Value &value, const ExifData *)
 Print ISO speed ratings.
std::ostream & print0x9101 (std::ostream &os, const Value &value, const ExifData *)
 Print components configuration specific to compressed data.
std::ostream & print0x9201 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure time converted from APEX shutter speed value.
std::ostream & print0x9202 (std::ostream &os, const Value &value, const ExifData *)
 Print f-number converted from APEX aperture value.
std::ostream & print0x9204 (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure bias value.
std::ostream & print0x9206 (std::ostream &os, const Value &value, const ExifData *)
 Print the subject distance.
std::ostream & print0x9207 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print metering mode.
std::ostream & print0x9208 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print light source.
std::ostream & print0x920a (std::ostream &os, const Value &value, const ExifData *)
 Print the actual focal length of the lens.
std::ostream & print0x9286 (std::ostream &os, const Value &value, const ExifData *)
 Print the user comment.
std::ostream & print0xa001 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print color space.
std::ostream & print0xa217 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print sensing method.
std::ostream & print0xa300 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print file source.
std::ostream & print0xa301 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print scene type.
std::ostream & print0xa401 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print custom rendered.
std::ostream & print0xa402 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print exposure mode.
std::ostream & print0xa403 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print white balance.
std::ostream & print0xa404 (std::ostream &os, const Value &value, const ExifData *)
 Print digital zoom ratio.
std::ostream & print0xa405 (std::ostream &os, const Value &value, const ExifData *)
 Print 35mm equivalent focal length.
std::ostream & print0xa406 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print scene capture type.
std::ostream & print0xa407 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print gain control.
std::ostream & print0xa409 (std::ostream &os, const Value &value, const ExifData *metadata)
 Print saturation.
std::ostream & print0xa40c (std::ostream &os, const Value &value, const ExifData *metadata)
 Print subject distance range.
std::ostream & printGPSDirRef (std::ostream &os, const Value &value, const ExifData *metadata)
 Print GPS direction ref.
std::ostream & printNormalSoftHard (std::ostream &os, const Value &value, const ExifData *metadata)
 Print contrast, sharpness (normal, soft, hard).
std::ostream & printExifVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version packed in 4 Bytes format : major major minor minor.
std::ostream & printXmpVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version encoded in the ASCII string majormajorminorminor.
std::ostream & printXmpDate (std::ostream &os, const Value &value, const ExifData *)
 Print a date following the format YYYY-MM-DDTHH:MM:SSZ.

Typedefs

typedef std::vector< ExifdatumExifMetadata
 Container type to hold all metadata.
typedef Image::AutoPtr(* NewInstanceFct )(BasicIo::AutoPtr io, bool create)
 Type for function pointer that creates new Image instances.
typedef bool(* IsThisTypeFct )(BasicIo &iIo, bool advance)
 Type for function pointer that checks image types.
typedef std::vector< IptcdatumIptcMetadata
 Container type to hold all metadata.
typedef int PreviewId
 Type of preview image.
typedef std::vector< PreviewPropertiesPreviewPropertiesList
 Container type to hold all preview images metadata.
typedef std::ostream &(* PrintFct )(std::ostream &, const Value &, const ExifData *pExifData)
 Type for a function pointer for functions interpreting the tag value.
typedef const TagInfo *(* TagListFct )()
 A function returning a tag list.
typedef uint8_t byte
 1 byte unsigned integer type.
typedef std::pair< uint32_t,
uint32_t > 
URational
 8 byte unsigned rational type.
typedef std::pair< int32_t,
int32_t > 
Rational
 8 byte signed rational type.
typedef std::vector< byteBlob
 Container for binary data.
typedef ValueType< uint16_t > UShortValue
 Unsigned short value type.
typedef ValueType< uint32_t > ULongValue
 Unsigned long value type.
typedef ValueType< URationalURationalValue
 Unsigned rational value type.
typedef ValueType< int16_t > ShortValue
 Signed short value type.
typedef ValueType< int32_t > LongValue
 Signed long value type.
typedef ValueType< RationalRationalValue
 Signed rational value type.
typedef std::vector< XmpdatumXmpMetadata
 Container type to hold all metadata.

Enumerations

enum  Ptt { pttLen, pttTag, pttIfd }
 IGNORE
enum  XmpCategory { xmpInternal, xmpExternal }
 Category of an XMP property.
enum  SectionId {
  sectionIdNotSet, imgStruct, recOffset, imgCharacter,
  otherTags, exifFormat, exifVersion, imgConfig,
  userInfo, relatedFile, dateTime, captureCond,
  gpsTags, iopTags, makerTags, dngTags,
  panaRaw, tiffEp, lastSectionId
}
 Section identifiers to logically group tags. A section consists of nothing more than a name, based on the Exif standard.
enum  ByteOrder { invalidByteOrder, littleEndian, bigEndian }
 Type to express the byte order (little or big endian).
enum  WriteMethod { wmIntrusive, wmNonIntrusive }
 Type to indicate write method used by TIFF parsers.
enum  MetadataId {
  mdNone = 0, mdExif = 1, mdIptc = 2, mdComment = 4,
  mdXmp = 8
}
 An identifier for each type of metadata.
enum  AccessMode { amNone = 0, amRead = 1, amWrite = 2, amReadWrite = 3 }
 An identifier for each mode of metadata support.
enum  TypeId {
  unsignedByte = 1, asciiString = 2, unsignedShort = 3, unsignedLong = 4,
  unsignedRational = 5, signedByte = 6, undefined = 7, signedShort = 8,
  signedLong = 9, signedRational = 10, tiffFloat = 11, tiffDouble = 12,
  tiffIfd = 13, string = 0x10000, date = 0x10001, time = 0x10002,
  comment = 0x10003, directory = 0x10004, xmpText = 0x10005, xmpAlt = 0x10006,
  xmpBag = 0x10007, xmpSeq = 0x10008, langAlt = 0x10009, invalidTypeId = 0x1fffe,
  lastTypeId = 0x1ffff
}
 Exiv2 value type identifiers. More...
enum  IfdId {
  ifdIdNotSet, ifd0Id, exifIfdId, gpsIfdId,
  iopIfdId, ifd1Id, ifd2Id, ifd3Id,
  subImage1Id, subImage2Id, subImage3Id, subImage4Id,
  mnIfdId, canonIfdId, canonCsIfdId, canonSiIfdId,
  canonCfIfdId, canonPiIfdId, canonPaIfdId, canonFiIfdId,
  fujiIfdId, minoltaIfdId, minoltaCs5DIfdId, minoltaCs7DIfdId,
  minoltaCsOldIfdId, minoltaCsNewIfdId, nikon1IfdId, nikon2IfdId,
  nikon3IfdId, nikonPvIfdId, nikonVrIfdId, nikonPcIfdId,
  nikonWtIfdId, nikonIiIfdId, nikonAfIfdId, nikonSi1IfdId,
  nikonSi2IfdId, nikonSi3IfdId, nikonSi4IfdId, nikonSi5IfdId,
  nikonSi6IfdId, nikonLd1IfdId, nikonLd2IfdId, nikonLd3IfdId,
  nikonCb1IfdId, nikonCb2IfdId, nikonCb2aIfdId, nikonCb2bIfdId,
  nikonCb3IfdId, nikonCb4IfdId, olympusIfdId, olympus2IfdId,
  olympusCsIfdId, olympusEqIfdId, olympusRdIfdId, olympusRd2IfdId,
  olympusIpIfdId, olympusFiIfdId, olympusFe1IfdId, olympusFe2IfdId,
  olympusFe3IfdId, olympusFe4IfdId, olympusFe5IfdId, olympusFe6IfdId,
  olympusFe7IfdId, olympusFe8IfdId, olympusFe9IfdId, olympusRiIfdId,
  panasonicIfdId, panaRawIfdId, pentaxIfdId, sigmaIfdId,
  sonyIfdId, lastIfdId
}
 Type to specify the IFD to which a metadata belongs.

Functions

EXIV2API DataBuf readFile (const std::string &path)
 Read file path into a DataBuf, which is returned.
EXIV2API long writeFile (const DataBuf &buf, const std::string &path)
 Write DataBuf buf to file path.
EXIV2API Image::AutoPtr newBmpInstance (BasicIo::AutoPtr io, bool create)
 Create a new BmpImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isBmpType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Windows Bitmap image.
EXIV2API float canonEv (long val)
 Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Canon::CanonEv by Will Stokes.
void copyExifToXmp (const ExifData &exifData, XmpData &xmpData)
 Convert (copy) Exif tags to XMP properties.
void moveExifToXmp (ExifData &exifData, XmpData &xmpData)
 Convert (move) Exif tags to XMP properties, remove converted Exif tags.
void copyXmpToExif (const XmpData &xmpData, ExifData &exifData)
 Convert (copy) XMP properties to Exif tags.
void moveXmpToExif (XmpData &xmpData, ExifData &exifData)
 Convert (move) XMP properties to Exif tags, remove converted XMP properties.
void syncExifWithXmp (ExifData &exifData, XmpData &xmpData)
 Detect which metadata are newer and perform a copy in appropriate direction.
void copyIptcToXmp (const IptcData &iptcData, XmpData &xmpData, const char *iptcCharset)
 Convert (copy) IPTC datasets to XMP properties.
void moveIptcToXmp (IptcData &iptcData, XmpData &xmpData, const char *iptcCharset)
 Convert (move) IPTC datasets to XMP properties, remove converted IPTC datasets.
void copyXmpToIptc (const XmpData &xmpData, IptcData &iptcData)
 Convert (copy) XMP properties to IPTC datasets.
void moveXmpToIptc (XmpData &xmpData, IptcData &iptcData)
 Convert (move) XMP properties to IPTC tags, remove converted XMP properties.
EXIV2API Image::AutoPtr newCr2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Cr2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isCr2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a CR2 image.
Image::AutoPtr newCrwInstance (BasicIo::AutoPtr io, bool create)
 Create a new CrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isCrwType (BasicIo &iIo, bool advance)
 Check if the file iIo is a CRW image.
EXIV2API std::ostream & operator<< (std::ostream &os, const DataSet &dataSet)
 Output operator for dataSet.
ExifData::const_iterator orientation (const ExifData &ed)
 Return the orientation of the image.
ExifData::const_iterator isoSpeed (const ExifData &ed)
 Return the ISO speed used to shoot the image.
ExifData::const_iterator flashBias (const ExifData &ed)
 Return the flash bias value.
ExifData::const_iterator exposureMode (const ExifData &ed)
 Return the exposure mode setting.
ExifData::const_iterator sceneMode (const ExifData &ed)
 Return the scene mode setting.
ExifData::const_iterator macroMode (const ExifData &ed)
 Return the macro mode setting.
ExifData::const_iterator imageQuality (const ExifData &ed)
 Return the image quality setting.
ExifData::const_iterator whiteBalance (const ExifData &ed)
 Return the white balance setting.
ExifData::const_iterator lensName (const ExifData &ed)
 Return the name of the lens used.
ExifData::const_iterator saturation (const ExifData &ed)
 Return the saturation level.
ExifData::const_iterator sharpness (const ExifData &ed)
 Return the sharpness level.
ExifData::const_iterator contrast (const ExifData &ed)
 Return the contrast level.
ExifData::const_iterator sceneCaptureType (const ExifData &ed)
 Return the scene capture type.
std::ostream & operator<< (std::ostream &os, const AnyError &error)
 AnyBase output operator
template<typename T>
Exiv2::ExifdatumsetValue (Exiv2::Exifdatum &exifDatum, const T &value)
 Set the value of exifDatum to value. If the object already has a value, it is replaced. Otherwise a new ValueType<T> value is created and set to value.
EXIV2API bool fileExists (const std::string &path, bool ct=false)
 Test if a file exists.
EXIV2API std::string strError ()
 Return a system error message and the error code (errno). See strerror(3).
EXIV2API Image::AutoPtr newGifInstance (BasicIo::AutoPtr io, bool create)
 Create a new GifImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isGifType (BasicIo &iIo, bool advance)
 Check if the file iIo is a GIF image.
void append (Blob &blob, const byte *buf, uint32_t len)
 Append len bytes pointed to by buf to blob.
Image::AutoPtr newJp2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Jp2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isJp2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a JPEG-2000 image.
EXIV2API Image::AutoPtr newJpegInstance (BasicIo::AutoPtr io, bool create)
 Create a new JpegImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isJpegType (BasicIo &iIo, bool advance)
 Check if the file iIo is a JPEG image.
EXIV2API Image::AutoPtr newExvInstance (BasicIo::AutoPtr io, bool create)
 Create a new ExvImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isExvType (BasicIo &iIo, bool advance)
 Check if the file iIo is an EXV file.
std::ostream & operator<< (std::ostream &os, const Key &key)
 Output operator for Key types.
std::ostream & operator<< (std::ostream &os, const Metadatum &md)
 Output operator for Metadatum types, writing the interpreted tag value.
EXIV2API bool cmpMetadataByTag (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by tag. Return true if the tag of metadatum lhs is less than that of rhs.
EXIV2API bool cmpMetadataByKey (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by key. Return true if the key of metadatum lhs is less than that of rhs.
EXIV2API Image::AutoPtr newMrwInstance (BasicIo::AutoPtr io, bool create)
 Create a new MrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isMrwType (BasicIo &iIo, bool advance)
 Check if the file iIo is a MRW image.
EXIV2API Image::AutoPtr newOrfInstance (BasicIo::AutoPtr io, bool create)
 Create a new OrfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isOrfType (BasicIo &iIo, bool advance)
 Check if the file iIo is an ORF image.
template<int N, const TagDetails & array, int count, int ignoredcount>
std::ostream & printCombiTag (std::ostream &os, const Value &value, const ExifData *metadata)
 Print function to translate Pentax "combi-values" to a description by looking up a reference table.
Image::AutoPtr newPgfInstance (BasicIo::AutoPtr io, bool create)
 Create a new PgfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isPgfType (BasicIo &iIo, bool advance)
 Check if the file iIo is a PGF image.
Image::AutoPtr newPngInstance (BasicIo::AutoPtr io, bool create)
 Create a new PngImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isPngType (BasicIo &iIo, bool advance)
 Check if the file iIo is a PNG image.
std::ostream & operator<< (std::ostream &os, const XmpPropertyInfo &property)
 Output operator for property info.
Image::AutoPtr newPsdInstance (BasicIo::AutoPtr io, bool)
 Create a new PsdImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isPsdType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Photoshop image.
EXIV2API Image::AutoPtr newRafInstance (BasicIo::AutoPtr io, bool create)
 Create a new RafImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isRafType (BasicIo &iIo, bool advance)
 Check if the file iIo is a RAF image.
EXIV2API Image::AutoPtr newRw2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Rw2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isRw2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a RW2 image.
std::ostream & operator<< (std::ostream &os, const TagInfo &ti)
 Output operator for TagInfo.
std::ostream & operator<< (std::ostream &os, const Rational &r)
 Output operator for our fake rational.
std::istream & operator>> (std::istream &is, Rational &r)
 Input operator for our fake rational.
std::ostream & operator<< (std::ostream &os, const URational &r)
 Output operator for our fake unsigned rational.
std::istream & operator>> (std::istream &is, URational &r)
 Input operator for our fake unsigned rational.
float fnumber (float apertureValue)
 Calculate F number from an APEX aperture value.
URational exposureTime (float shutterSpeedValue)
 Calculate the exposure time from an APEX shutter speed value.
template<int N, const TagDetails & array>
std::ostream & printTag (std::ostream &os, const Value &value, const ExifData *)
 Generic pretty-print function to translate a long value to a description by looking up a reference table.
template<int N, const TagDetailsBitmask & array>
std::ostream & printTagBitmask (std::ostream &os, const Value &value, const ExifData *)
 Generic print function to translate a long value to a description by looking up bitmasks in a reference table.
template<int N, const TagVocabulary & array>
std::ostream & printTagVocabulary (std::ostream &os, const Value &value, const ExifData *)
 Generic pretty-print function to translate a controlled vocabulary value (string) to a description by looking up a reference table.
EXIV2API Image::AutoPtr newTgaInstance (BasicIo::AutoPtr io, bool create)
 Create a new TgaImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isTgaType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Targa v2 image.
EXIV2API Image::AutoPtr newTiffInstance (BasicIo::AutoPtr io, bool create)
 Create a new TiffImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isTiffType (BasicIo &iIo, bool advance)
 Check if the file iIo is a TIFF image.
uint16_t getUShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte unsigned short value from the data buffer.
uint32_t getULong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte unsigned long value from the data buffer.
URational getURational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte unsigned rational value from the data buffer.
int16_t getShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte signed short value from the data buffer.
int32_t getLong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte signed long value from the data buffer.
Rational getRational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte signed rational value from the data buffer.
long us2Data (byte *buf, uint16_t s, ByteOrder byteOrder)
 Convert an unsigned short to data, write the data to the buffer, return number of bytes written.
long ul2Data (byte *buf, uint32_t l, ByteOrder byteOrder)
 Convert an unsigned long to data, write the data to the buffer, return number of bytes written.
long ur2Data (byte *buf, URational l, ByteOrder byteOrder)
 Convert an unsigned rational to data, write the data to the buffer, return number of bytes written.
long s2Data (byte *buf, int16_t s, ByteOrder byteOrder)
 Convert a signed short to data, write the data to the buffer, return number of bytes written.
long l2Data (byte *buf, int32_t l, ByteOrder byteOrder)
 Convert a signed long to data, write the data to the buffer, return number of bytes written.
long r2Data (byte *buf, Rational l, ByteOrder byteOrder)
 Convert a signed rational to data, write the data to the buffer, return number of bytes written.
void hexdump (std::ostream &os, const byte *buf, long len, long offset)
 Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in the buffer adjusted by offset.
bool isHex (const std::string &str, size_t size, const std::string &prefix)
 Return true if str is a hex number starting with prefix followed by size hex digits, false otherwise. If size is 0, any number of digits is allowed and all are checked.
int exifTime (const char *buf, struct tm *tm)
 Converts a string in the form "%Y:%m:%d %H:%M:%S", e.g., "2007:05:24 12:31:55" to broken down time format, returns 0 if successful, else 1.
const char * exvGettext (const char *str)
 Translate a string using the gettext framework. This wrapper hides all the implementation details from the interface.
template<>
bool stringTo< bool > (const std::string &s, bool &ok)
 Specialization of stringTo(const std::string& s, bool& ok) for bool.
long parseLong (const std::string &s, bool &ok)
 Return a long set to the value represented by s.
float parseFloat (const std::string &s, bool &ok)
 Return a float set to the value represented by s.
Rational parseRational (const std::string &s, bool &ok)
 Return a Rational set to the value represented by s.
Rational floatToRationalCast (float f)
 Very simple conversion of a float to a Rational.
template<typename T, typename K, int N>
const T * find (T(&src)[N], const K &key)
 Find an element that matches key in the array src.
template<typename T, int N>
 char (&sizer(T(&)[N]))[N]
 Template used in the COUNTOF macro to determine the size of an array.
template<typename T>
std::string toString (const T &arg)
 Utility function to convert the argument of any type to a string.
template<typename T>
stringTo (const std::string &s, bool &ok)
 Utility function to convert a string to a value of type T.
template<typename IntType>
IntType gcd (IntType n, IntType m)
 Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp).
std::ostream & operator<< (std::ostream &os, const Value &value)
 Output operator for Value types.
template<typename T>
TypeId getType ()
 Template to determine the TypeId for a type T.
template<>
TypeId getType< uint16_t > ()
 Specialization for an unsigned short.
template<>
TypeId getType< uint32_t > ()
 Specialization for an unsigned long.
template<>
TypeId getType< URational > ()
 Specialization for an unsigned rational.
template<>
TypeId getType< int16_t > ()
 Specialization for a signed short.
template<>
TypeId getType< int32_t > ()
 Specialization for a signed long.
template<>
TypeId getType< Rational > ()
 Specialization for a signed rational.
template<typename T>
getValue (const byte *buf, ByteOrder byteOrder)
 Read a value of type T from the data buffer.
template<typename T>
long toData (byte *buf, T t, ByteOrder byteOrder)
 Convert a value of type T to data, write the data to the data buffer.
template<>
long toData (byte *buf, uint16_t t, ByteOrder byteOrder)
 Specialization to write an unsigned short to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, uint32_t t, ByteOrder byteOrder)
 Specialization to write an unsigned long to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, URational t, ByteOrder byteOrder)
 Specialization to write an unsigned rational to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, int16_t t, ByteOrder byteOrder)
 Specialization to write a signed short to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, int32_t t, ByteOrder byteOrder)
 Specialization to write a signed long to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, Rational t, ByteOrder byteOrder)
 Specialization to write a signed rational to the data buffer. Return the number of bytes written.
EXIV2API int versionNumber ()
 Return the version of Exiv2 available at runtime as an integer.
EXIV2API const char * version ()
 Return the version of Exiv2 available at runtime as a string.
EXIV2API bool testVersion (int major, int minor, int patch)
 Test the version of the available Exiv2 library at runtime. Return true if it is the same as or newer than the passed-in version.
EXIV2API Image::AutoPtr newXmpInstance (BasicIo::AutoPtr io, bool create)
 Create a new XmpSidecar instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isXmpType (BasicIo &iIo, bool advance)
 Check if the file iIo is an XMP sidecar file.

Variables

const XmpPropertyInfo xmpDcInfo []
 IGNORE
const XmpPropertyInfo xmpDigikamInfo []
const XmpPropertyInfo xmpXmpInfo []
const XmpPropertyInfo xmpXmpRightsInfo []
const XmpPropertyInfo xmpXmpMMInfo []
const XmpPropertyInfo xmpXmpBJInfo []
const XmpPropertyInfo xmpXmpTPgInfo []
const XmpPropertyInfo xmpXmpDMInfo []
const XmpPropertyInfo xmpMicrosoftInfo []
const XmpPropertyInfo xmpPdfInfo []
const XmpPropertyInfo xmpPhotoshopInfo []
const XmpPropertyInfo xmpCrsInfo []
const XmpPropertyInfo xmpTiffInfo []
const XmpPropertyInfo xmpExifInfo []
const XmpPropertyInfo xmpAuxInfo []
const XmpPropertyInfo xmpIptcInfo []
const XmpPropertyInfo xmpIptcExtInfo []
const XmpPropertyInfo xmpPlusInfo []
const XmpNsInfo xmpNsInfo []
const TagDetails crsCropUnits []
 XMP crs:CropUnits.
const TagVocabulary iptcExtDigitalSourcefileType []
 XMP iptcExt:DigitalSourcefileType.
const TagVocabulary plusAdultContentWarning []
 XMP plus:AdultContentWarning.
const TagVocabulary plusCopyrightStatus []
 XMP plus:CopyrightStatus.
const TagVocabulary plusCreditLineRequired []
 XMP plus:CreditLineRequired.
const TagVocabulary plusImageAlterationConstraints []
 XMP plus:ImageAlterationConstraints.
const TagVocabulary plusImageDuplicationConstraints []
 XMP plus:ImageDuplicationConstraints.
const TagVocabulary plusImageFileConstraints []
 XMP plus:ImageFileConstraints.
const TagVocabulary plusImageFileFormatAsDelivered []
 XMP plus:ImageFileFormatAsDelivered.
const TagVocabulary plusImageFileSizeAsDelivered []
 XMP plus:ImageFileSizeAsDelivered.
const TagVocabulary plusImageType []
 XMP plus:ImageType.
const TagVocabulary plusLicensorTelephoneType []
 XMP plus:LicensorTelephoneType.
const TagVocabulary plusMinorModelAgeDisclosure []
 XMP plus:MinorModelAgeDisclosure.
const TagVocabulary plusModelReleaseStatus []
 XMP plus:ModelReleaseStatus.
const TagVocabulary plusPropertyReleaseStatus []
 XMP plus:PropertyReleaseStatus.
const TagVocabulary plusReuse []
 XMP plus:Reuse.
const XmpPrintInfo xmpPrintInfo []
const TagDetails exifNewSubfileType []
 NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.
const TagDetails exifUnit []
 Units for measuring X and Y resolution, tags 0x0128, 0xa210.
const TagDetails exifCompression []
 Compression, tag 0x0103.
const TagDetails exifPhotometricInterpretation []
 PhotometricInterpretation, tag 0x0106.
const TagDetails exifOrientation []
 Orientation, tag 0x0112.
const TagDetails exifYCbCrPositioning []
 YCbCrPositioning, tag 0x0213.
const TagDetails exifFlash []
 Flash, Exif tag 0x9209.
const TagDetails exifCfaLayout []
 CFALayout, tag 0xc617.
const TagDetails exifExposureProgram []
 ExposureProgram, tag 0x8822.
const TagDetails exifMeteringMode []
 MeteringMode, tag 0x9207.
const TagDetails exifLightSource []
 LightSource, tag 0x9208.
const TagDetails exifColorSpace []
 ColorSpace, tag 0xa001.
const TagDetails exifSensingMethod []
 SensingMethod, tag 0xa217.
const TagDetails exifFileSource []
 FileSource, tag 0xa300.
const TagDetails exifSceneType []
 SceneType, tag 0xa301.
const TagDetails exifCustomRendered []
 CustomRendered, tag 0xa401.
const TagDetails exifExposureMode []
 ExposureMode, tag 0xa402.
const TagDetails exifWhiteBalance []
 WhiteBalance, tag 0xa403.
const TagDetails exifSceneCaptureType []
 SceneCaptureType, tag 0xa406.
const TagDetails exifGainControl []
 GainControl, tag 0xa407.
const TagDetails exifNormalSoftHard []
 Contrast, tag 0xa408 and Sharpness, tag 0xa40a.
const TagDetails exifSaturation []
 Saturation, tag 0xa409.
const TagDetails exifSubjectDistanceRange []
 SubjectDistanceRange, tag 0xa40c.
const TagDetails exifGPSLatitudeRef []
 GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.
const TagDetails exifGPSLongitudeRef []
 GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.
const TagDetails exifGPSAltitudeRef []
 GPS altitude reference, tag 0x0005.
const TagDetails exifGPSStatus []
 GPS status, tag 0x0009.
const TagDetails exifGPSMeasureMode []
 GPS measurement mode, tag 0x000a.
const TagDetails exifGPSSpeedRef []
 GPS speed reference, tag 0x000c.
const TagDetails exifGPSDirRef []
 GPS direction ref, tags 0x000e, 0x0010, 0x0017.
const TagDetails exifGPSDestDistanceRef []
 GPS Destination distance ref, tag 0x0019.
const TagDetails exifGPSDifferential []
 GPS Differential, tag 0x001e.


Detailed Description

Get the text value of an XmpDatum pos. Convert string charset with iconv.

Enumeration Type Documentation

enum TypeId
 

Exiv2 value type identifiers.

Used primarily as identifiers when creating Exiv2 Value instances. See Value::create. 0x0000 to 0xffff are reserved for TIFF (Exif) types.

Enumeration values:
unsignedByte  Exif BYTE type, 8-bit unsigned integer.
asciiString  Exif ASCII type, 8-bit byte.
unsignedShort  Exif SHORT type, 16-bit (2-byte) unsigned integer.
unsignedLong  Exif LONG type, 32-bit (4-byte) unsigned integer.
unsignedRational  Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.
signedByte  Exif SBYTE type, an 8-bit signed (twos-complement) integer.
undefined  Exif UNDEFINED type, an 8-bit byte that may contain anything.
signedShort  Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.
signedLong  Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.
signedRational  Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction.
tiffFloat  TIFF FLOAT type, single precision (4-byte) IEEE format.
tiffDouble  TIFF DOUBLE type, double precision (8-byte) IEEE format.
tiffIfd  TIFF IFD type, 32-bit (4-byte) unsigned integer.
string  IPTC string type.
date  IPTC date type.
time  IPTC time type.
comment  Exiv2 type for the Exif user comment.
directory  Exiv2 type for a CIFF directory.
xmpText  XMP text type.
xmpAlt  XMP alternative type.
xmpBag  XMP bag type.
xmpSeq  XMP sequence type.
langAlt  XMP language alternative type.
invalidTypeId  Invalid type id.
lastTypeId  Last type id.


Function Documentation

EXIV2API float canonEv long  val  ) 
 

Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Canon::CanonEv by Will Stokes.

0x00 -> 0 0x0c -> 0.33333 0x10 -> 0.5 0x14 -> 0.66666 0x20 -> 1 .. 160 -> 5 128 -> 4 143 -> 4.46875

EXIV2API bool fileExists const std::string &  path,
bool  ct = false
 

Test if a file exists.

Parameters:
path Name of file to verify.
ct Flag to check if path is a regular file.
Returns:
true if path exists and, if ct is set, is a regular file, else false.
Note:
The function calls stat() test for path and its type, see stat(2). errno is left unchanged in case of an error.

template<typename T, typename K, int N>
const T* find T &  src[N],
const K &  key
 

Find an element that matches key in the array src.

Designed to be used with lookup tables as shown in the example below. Requires a Key structure (ideally in the array) and a comparison operator to compare a key with an array element. The size of the array is determined automagically. Thanks to Stephan Broennimann for this nifty implementation.

      struct Bar {
          int i;
          int k;
          const char* data;

          struct Key;
          bool operator==(const Bar::Key& rhs) const;
      };

      struct Bar::Key {
          Key(int a, int b) : i(a), k(b) {}
          int i;
          int k;
      };

      bool Bar::operator==(const Bar::Key& key) const // definition
      {
          return i == key.i && k == key.k;
      }

      const Bar bars[] = {
          { 1, 1, "bar data 1" },
          { 1, 2, "bar data 2" },
          { 1, 3, "bar data 3" }
      };

      int main ( void ) {
          const Bar* bar = find(bars, Bar::Key(1, 3));
          if (bar) std::cout << bar->data << "\n";
          else std::cout << "Key not found.\n";
          return 0;
      }

EXIV2API Rational Exiv2::floatToRationalCast float  f  ) 
 

Very simple conversion of a float to a Rational.

Test it with the values that you expect and check the implementation to see if this is really what you want!

template<typename IntType>
IntType gcd IntType  n,
IntType  m
 

Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp).

Note:
We use n and m as temporaries in this function, so there is no value in using const IntType& as we would only need to make a copy anyway...

template<typename T>
Rational Exiv2::getValue const byte buf,
ByteOrder  byteOrder
[inline]
 

Read a value of type T from the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to read from.
byteOrder Applicable byte order (little or big endian).
Returns:
A value of type T.

EXIV2API float Exiv2::parseFloat const std::string &  s,
bool &  ok
 

Return a float set to the value represented by s.

Besides strings that represent float values, the function also handles long, Rational and boolean (see also: stringTo(const std::string& s, bool& ok)).

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the float value represented by s and sets ok to true if the conversion was successful or false if not.

EXIV2API long Exiv2::parseLong const std::string &  s,
bool &  ok
 

Return a long set to the value represented by s.

Besides strings that represent long values, the function also handles float, Rational and boolean (see also: stringTo(const std::string& s, bool& ok)).

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the long value represented by s and sets ok to true if the conversion was successful or false if not.

EXIV2API Rational Exiv2::parseRational const std::string &  s,
bool &  ok
 

Return a Rational set to the value represented by s.

Besides strings that represent Rational values, the function also handles long, float and boolean (see also: stringTo(const std::string& s, bool& ok)). Uses floatToRationalCast(float f) if the string can be parsed into a float.

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the Rational value represented by s and sets ok to true if the conversion was successful or false if not.

EXIV2API DataBuf readFile const std::string &  path  ) 
 

Read file path into a DataBuf, which is returned.

Returns:
Buffer containing the file.
Exceptions:
Error In case of failure.

template<typename T>
Exiv2::Exifdatum& setValue Exiv2::Exifdatum exifDatum,
const T &  value
 

Set the value of exifDatum to value. If the object already has a value, it is replaced. Otherwise a new ValueType<T> value is created and set to value.

This is a helper function, called from Exifdatum members. It is meant to be used with T = (u)int16_t, (u)int32_t or (U)Rational. Do not use directly.

template<typename T>
T stringTo const std::string &  s,
bool &  ok
 

Utility function to convert a string to a value of type T.

The string representation of the value must match that recognized by the input operator for T for this function to succeed.

Parameters:
s String to convert
ok Output variable indicating the success of the operation.
Returns:
Returns the converted value and sets ok to true if the conversion was successful or false if not.

template<>
bool Exiv2::stringTo< bool > const std::string &  s,
bool &  ok
 

Specialization of stringTo(const std::string& s, bool& ok) for bool.

Handles the same string values as the XMP SDK. Converts the string to lowercase and returns true if it is "true", "t" or "1", and false if it is "false", "f" or "0".

EXIV2API bool testVersion int  major,
int  minor,
int  patch
 

Test the version of the available Exiv2 library at runtime. Return true if it is the same as or newer than the passed-in version.

Versions are denoted using a triplet of integers: major.minor.patch .

      // Don't include the <exiv2/version.hpp> file directly, it is included by
      // <exiv2/types.hpp>. Early Exiv2 versions didn't have version.hpp and the macros.

      #include <exiv2/types.hpp>

      // Make sure an EXIV2_TEST_VERSION macro exists:

      #ifdef EXIV2_VERSION
      # ifndef EXIV2_TEST_VERSION
      # define EXIV2_TEST_VERSION(major,minor,patch) \
          ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
      # endif
      #else
      # define EXIV2_TEST_VERSION(major,minor,patch) (false)
      #endif

      std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n"
                << "Runtime Exiv2 version is    " << Exiv2::version()    << "\n";

      // Test the Exiv2 version available at runtime but compile the if-clause only if
      // the compile-time version is at least 0.15. Earlier versions didn't have a
      // testVersion() function:

      #if EXIV2_TEST_VERSION(0,15,0)
      if (Exiv2::testVersion(0,13,0)) {
          std::cout << "Available Exiv2 version is equal to or greater than 0.13\n";
      }
      else {
          std::cout << "Installed Exiv2 version is less than 0.13\n";
      }
      #else
      std::cout << "Compile-time Exiv2 version doesn't have Exiv2::testVersion()\n";
      #endif

template<typename T>
long toData byte buf,
t,
ByteOrder  byteOrder
 

Convert a value of type T to data, write the data to the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to write to.
t Value to be converted.
byteOrder Applicable byte order (little or big endian).
Returns:
The number of bytes written to the buffer.

EXIV2API long writeFile const DataBuf &  buf,
const std::string &  path
 

Write DataBuf buf to file path.

Returns:
Return the number of bytes written.
Exceptions:
Error In case of failure.


Variable Documentation

const TagDetails Exiv2::crsCropUnits[]
 

Initial value:

 {
        { 0, N_("pixels") },
        { 1, N_("inches") },
        { 2, N_("cm")     }
    }
XMP crs:CropUnits.

const TagDetails Exiv2::exifCfaLayout[]
 

Initial value:

 {
        { 1, N_("Rectangular (or square) layout") },
        { 2, N_("Staggered layout A: even columns are offset down by 1/2 row")  },
        { 3, N_("Staggered layout B: even columns are offset up by 1/2 row")    },
        { 4, N_("Staggered layout C: even rows are offset right by 1/2 column") },
        { 5, N_("Staggered layout D: even rows are offset left by 1/2 column")  }
    }
CFALayout, tag 0xc617.

const TagDetails Exiv2::exifColorSpace[]
 

Initial value:

 {
        {      1, N_("sRGB")         },
        {      2, N_("Adobe RGB")    },    
        { 0xffff, N_("Uncalibrated") }
    }
ColorSpace, tag 0xa001.

const TagDetails Exiv2::exifCustomRendered[]
 

Initial value:

 {
        { 0, N_("Normal process") },
        { 1, N_("Custom process") }
    }
CustomRendered, tag 0xa401.

const TagDetails Exiv2::exifExposureMode[]
 

Initial value:

 {
        { 0, N_("Auto")         },
        { 1, N_("Manual")       },
        { 2, N_("Auto bracket") }
    }
ExposureMode, tag 0xa402.

const TagDetails Exiv2::exifExposureProgram[]
 

Initial value:

 {
        { 0, N_("Not defined")       },
        { 1, N_("Manual")            },
        { 2, N_("Auto")              },
        { 3, N_("Aperture priority") },
        { 4, N_("Shutter priority")  },
        { 5, N_("Creative program")  },
        { 6, N_("Action program")    },
        { 7, N_("Portrait mode")     },
        { 8, N_("Landscape mode")    }
    }
ExposureProgram, tag 0x8822.

const TagDetails Exiv2::exifFileSource[]
 

Initial value:

 {
        { 1, N_("Film scanner")            },   
        { 2, N_("Reflexion print scanner") },   
        { 3, N_("Digital still camera")    }
    }
FileSource, tag 0xa300.

const TagDetails Exiv2::exifFlash[]
 

Initial value:

 {
        { 0x00, N_("No flash")                                                      },
        { 0x01, N_("Fired")                                                         },
        { 0x05, N_("Fired, strobe return light not detected")                       },
        { 0x07, N_("Fired, strobe return light detected")                           },
        { 0x08, N_("Yes, did not fire")                                             },
        { 0x09, N_("Yes, compulsory")                                               },
        { 0x0d, N_("Yes, compulsory, return light not detected")                    },
        { 0x0f, N_("Yes, compulsory, return light detected")                        },
        { 0x10, N_("No, compulsory")                                                },
        { 0x14, N_("No, did not fire, return not detected")                         },
        { 0x18, N_("No, auto")                                                      },
        { 0x19, N_("Yes, auto")                                                     },
        { 0x1d, N_("Yes, auto, return light not detected")                          },
        { 0x1f, N_("Yes, auto, return light detected")                              },
        { 0x20, N_("No flash function")                                             },
        { 0x20, N_("No, no flash function")                                         },
        { 0x41, N_("Yes, red-eye reduction")                                        },
        { 0x45, N_("Yes, red-eye reduction, return light not detected")             },
        { 0x47, N_("Yes, red-eye reduction, return light detected")                 },
        { 0x49, N_("Yes, compulsory, red-eye reduction")                            },
        { 0x4d, N_("Yes, compulsory, red-eye reduction, return light not detected") },
        { 0x4f, N_("Yes, compulsory, red-eye reduction, return light detected")     },
        { 0x50, N_("No, red-eye reduction")                                         },
        { 0x58, N_("No, auto, red-eye reduction")                                   },
        { 0x59, N_("Yes, auto, red-eye reduction")                                  },
        { 0x5d, N_("Yes, auto, red-eye reduction, return light not detected")       },
        { 0x5f, N_("Yes, auto, red-eye reduction, return light detected")           }
    }
Flash, Exif tag 0x9209.

const TagDetails Exiv2::exifGainControl[]
 

Initial value:

 {
        { 0, N_("None")           },
        { 1, N_("Low gain up")    },
        { 2, N_("High gain up")   },
        { 3, N_("Low gain down")  },
        { 4, N_("High gain down") }
    }
GainControl, tag 0xa407.

const TagDetails Exiv2::exifGPSAltitudeRef[]
 

Initial value:

 {
        { 0, N_("Above sea level") },
        { 1, N_("Below sea level") }
    }
GPS altitude reference, tag 0x0005.

const TagDetails Exiv2::exifGPSDestDistanceRef[]
 

Initial value:

 {
        { 'K', N_("Kilometers") },
        { 'M', N_("Miles")      },
        { 'N', N_("Knots")      }
    }
GPS Destination distance ref, tag 0x0019.

const TagDetails Exiv2::exifGPSDifferential[]
 

Initial value:

 {
        { 0, N_("Without correction") },
        { 1, N_("Correction applied") }
    }
GPS Differential, tag 0x001e.

const TagDetails Exiv2::exifGPSDirRef[]
 

Initial value:

 {
        { 'T', N_("True direction")     },
        { 'M', N_("Magnetic direction") }
    }
GPS direction ref, tags 0x000e, 0x0010, 0x0017.

const TagDetails Exiv2::exifGPSLatitudeRef[]
 

Initial value:

 {
        { 78, N_("North") },
        { 83, N_("South") }
    }
GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.

const TagDetails Exiv2::exifGPSLongitudeRef[]
 

Initial value:

 {
        { 69, N_("East") },
        { 87, N_("West") }
    }
GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.

const TagDetails Exiv2::exifGPSMeasureMode[]
 

Initial value:

 {
        { '2', N_("Two-dimensional measurement")   },
        { '3', N_("Three-dimensional measurement") }
    }
GPS measurement mode, tag 0x000a.

const TagDetails Exiv2::exifGPSSpeedRef[]
 

Initial value:

 {
        { 'K', N_("km/h")  },
        { 'M', N_("mph")   },
        { 'N', N_("knots") }
    }
GPS speed reference, tag 0x000c.

const TagDetails Exiv2::exifGPSStatus[]
 

Initial value:

 {
        { 'A', N_("Measurement in progress")      },
        { 'V', N_("Measurement Interoperability") }
    }
GPS status, tag 0x0009.

const TagDetails Exiv2::exifLightSource[]
 

Initial value:

 {
        {   0, N_("Unknown")                                 },
        {   1, N_("Daylight")                                },
        {   2, N_("Fluorescent")                             },
        {   3, N_("Tungsten (incandescent light)")           },
        {   4, N_("Flash")                                   },
        {   9, N_("Fine weather")                            },
        {  10, N_("Cloudy weather")                          },
        {  11, N_("Shade")                                   },
        {  12, N_("Daylight fluorescent (D 5700 - 7100K)")   },
        {  13, N_("Day white fluorescent (N 4600 - 5400K)")  },
        {  14, N_("Cool white fluorescent (W 3900 - 4500K)") },
        {  15, N_("White fluorescent (WW 3200 - 3700K)")     },
        {  17, N_("Standard light A")                        },
        {  18, N_("Standard light B")                        },
        {  19, N_("Standard light C")                        },
        {  20, N_("D55")                                     },
        {  21, N_("D65")                                     },
        {  22, N_("D75")                                     },
        {  23, N_("D50")                                     },
        {  24, N_("ISO studio tungsten")                     },
        { 255, N_("Other light source")                      }
    }
LightSource, tag 0x9208.

const TagDetails Exiv2::exifMeteringMode[]
 

Initial value:

 {
        { 0,   N_("Unknown")                 },
        { 1,   N_("Average")                 },
        { 2,   N_("Center weighted average") },
        { 3,   N_("Spot")                    },
        { 4,   N_("Multi-spot")              },
        { 5,   N_("Multi-segment")           },
        { 6,   N_("Partial")                 },
        { 255, N_("Other")                   }
    }
MeteringMode, tag 0x9207.

const TagDetails Exiv2::exifNewSubfileType[]
 

Initial value:

 {
        {  0, N_("Primary image")                                               },
        {  1, N_("Thumbnail/Preview image")                                     },
        {  2, N_("Primary image, Multi page file")                              },
        {  3, N_("Thumbnail/Preview image, Multi page file")                    },
        {  4, N_("Primary image, Transparency mask")                            },
        {  5, N_("Thumbnail/Preview image, Transparency mask")                  },
        {  6, N_("Primary image, Multi page file, Transparency mask")           },
        {  7, N_("Thumbnail/Preview image, Multi page file, Transparency mask") }
    }
NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.

const TagDetails Exiv2::exifNormalSoftHard[]
 

Initial value:

 {
        { 0, N_("Normal") },
        { 1, N_("Soft")   },
        { 2, N_("Hard")   }
    }
Contrast, tag 0xa408 and Sharpness, tag 0xa40a.

const TagDetails Exiv2::exifOrientation[]
 

Initial value:

 {
        { 1, N_("top, left")     },
        { 2, N_("top, right")    },
        { 3, N_("bottom, right") },
        { 4, N_("bottom, left")  },
        { 5, N_("left, top")     },
        { 6, N_("right, top")    },
        { 7, N_("right, bottom") },
        { 8, N_("left, bottom")  }
    }
Orientation, tag 0x0112.

const TagDetails Exiv2::exifPhotometricInterpretation[]
 

Initial value:

 {
        {     0, N_("White Is Zero")      },
        {     1, N_("Black Is Zero")      },
        {     2, N_("RGB")                },
        {     3, N_("RGB Palette")        },
        {     4, N_("Transparency Mask")  },
        {     5, N_("CMYK")               },
        {     6, N_("YCbCr")              },
        {     8, N_("CIELab")             },
        {     9, N_("ICCLab")             },
        {    10, N_("ITULab")             },
        { 32803, N_("Color Filter Array") },
        { 32844, N_("Pixar LogL")         },
        { 32845, N_("Pixar LogLuv")       },
        { 34892, N_("Linear Raw")         }
    }
PhotometricInterpretation, tag 0x0106.

const TagDetails Exiv2::exifSaturation[]
 

Initial value:

 {
        { 0, N_("Normal") },
        { 1, N_("Low")    },
        { 2, N_("High")   }
    }
Saturation, tag 0xa409.

const TagDetails Exiv2::exifSceneCaptureType[]
 

Initial value:

 {
        { 0, N_("Standard")    },
        { 1, N_("Landscape")   },
        { 2, N_("Portrait")    },
        { 3, N_("Night scene") }
    }
SceneCaptureType, tag 0xa406.

const TagDetails Exiv2::exifSceneType[]
 

Initial value:

 {
        { 1, N_("Directly photographed") }
    }
SceneType, tag 0xa301.

const TagDetails Exiv2::exifSensingMethod[]
 

Initial value:

 {
        { 1, N_("Not defined")             },
        { 2, N_("One-chip color area")     },
        { 3, N_("Two-chip color area")     },
        { 4, N_("Three-chip color area")   },
        { 5, N_("Color sequential area")   },
        { 7, N_("Trilinear sensor")        },
        { 8, N_("Color sequential linear") }
    }
SensingMethod, tag 0xa217.

const TagDetails Exiv2::exifSubjectDistanceRange[]
 

Initial value:

 {
        { 0, N_("Unknown")      },
        { 1, N_("Macro")        },
        { 2, N_("Close view")   },
        { 3, N_("Distant view") }
    }
SubjectDistanceRange, tag 0xa40c.

const TagDetails Exiv2::exifUnit[]
 

Initial value:

 {
        { 1, N_("none") },
        { 2, N_("inch") },
        { 3, N_("cm")   }
    }
Units for measuring X and Y resolution, tags 0x0128, 0xa210.

const TagDetails Exiv2::exifWhiteBalance[]
 

Initial value:

 {
        { 0, N_("Auto")   },
        { 1, N_("Manual") }
    }
WhiteBalance, tag 0xa403.

const TagDetails Exiv2::exifYCbCrPositioning[]
 

Initial value:

 {
        { 1, N_("Centered") },
        { 2, N_("Co-sited") }
    }
YCbCrPositioning, tag 0x0213.

const TagVocabulary Exiv2::iptcExtDigitalSourcefileType[]
 

Initial value:

 {
        { "scanfilm",         N_("Scan from film")                           },
        { "scantransparency", N_("Scan from transparency (including slide)") },
        { "scanprint",        N_("Scan from print")                          },
        { "cameraraw",        N_("Camera RAW")                               },
        { "cameratiff",       N_("Camera TIFF")                              },
        { "camerajpeg",       N_("Camera JPEG")                              }
    }
XMP iptcExt:DigitalSourcefileType.

const TagVocabulary Exiv2::plusAdultContentWarning[]
 

Initial value:

 {
        { "CW-AWR", N_("Adult Content Warning Required") },
        { "CW-NRQ", N_("Not Required")                   },
        { "CW-UNK", N_("Unknown")                        }
    }
XMP plus:AdultContentWarning.

const TagVocabulary Exiv2::plusCopyrightStatus[]
 

Initial value:

 {
        { "CS-PRO", N_("Protected")     },
        { "CS-PUB", N_("Public Domain") },
        { "CS-UNK", N_("Unknown")       }
    }
XMP plus:CopyrightStatus.

const TagVocabulary Exiv2::plusCreditLineRequired[]
 

Initial value:

 {
        { "CR-CAI", N_("Credit Adjacent To Image") },
        { "CR-CCA", N_("Credit in Credits Area")   },
        { "CR-COI", N_("Credit on Image")          },
        { "CR-NRQ", N_("Not Require")              }
    }
XMP plus:CreditLineRequired.

const TagVocabulary Exiv2::plusImageAlterationConstraints[]
 

Initial value:

 {
        { "AL-CLR", N_("No Colorization")    },
        { "AL-CRP", N_("No Cropping")        },
        { "AL-DCL", N_("No De-Colorization") },
        { "AL-FLP", N_("No Flipping")        },
        { "AL-MRG", N_("No Merging")         },
        { "AL-RET", N_("No Retouching")      }
    }
XMP plus:ImageAlterationConstraints.

const TagVocabulary Exiv2::plusImageDuplicationConstraints[]
 

Initial value:

 {
        { "DP-LIC", N_("Duplication Only as Necessary Under License") },
        { "DP-NDC", N_("No Duplication Constraints")                  },
        { "DP-NOD", N_("No Duplication")                              }
    }
XMP plus:ImageDuplicationConstraints.

const TagVocabulary Exiv2::plusImageFileConstraints[]
 

Initial value:

 {
        { "IF-MFN", N_("Maintain File Name")       },
        { "IF-MFT", N_("Maintain File Type")       },
        { "IF-MID", N_("Maintain ID in File Name") },
        { "IF-MMD", N_("Maintain Metadata")        }
    }
XMP plus:ImageFileConstraints.

const TagVocabulary Exiv2::plusImageFileFormatAsDelivered[]
 

Initial value:

 {
        { "FF-BMP", N_("Windows Bitmap (BMP)")                      },
        { "FF-DNG", N_("Digital Negative (DNG)")                    },
        { "FF-EPS", N_("Encapsulated PostScript (EPS)")             },
        { "FF-GIF", N_("Graphics Interchange Format (GIF)")         },
        { "FF-JPG", N_("JPEG Interchange Formats (JPG, JIF, JFIF)") },
        { "FF-OTR", N_("Other")                                     },
        { "FF-PIC", N_("Macintosh Picture (PICT)")                  },
        { "FF-PNG", N_("Portable Network Graphics (PNG)")           },
        { "FF-PSD", N_("Photoshop Document (PSD)")                  },
        { "FF-RAW", N_("Proprietary RAW Image Format")              },
        { "FF-TIF", N_("Tagged Image File Format (TIFF)")           },
        { "FF-WMP", N_("Windows Media Photo (HD Photo)")            }
    }
XMP plus:ImageFileFormatAsDelivered.

const TagVocabulary Exiv2::plusImageFileSizeAsDelivered[]
 

Initial value:

 {
        { "SZ-G50", N_("Greater than 50 MB") },
        { "SZ-U01", N_("Up to 1 MB")         },
        { "SZ-U10", N_("Up to 10 MB")        },
        { "SZ-U30", N_("Up to 30 MB")        },
        { "SZ-U50", N_("Up to 50 MB")        }
    }
XMP plus:ImageFileSizeAsDelivered.

const TagVocabulary Exiv2::plusImageType[]
 

Initial value:

 {
        { "TY-ILL", N_("Illustrated Image")              },
        { "TY-MCI", N_("Multimedia or Composited Image") },
        { "TY-OTR", N_("Other")                          },
        { "TY-PHO", N_("Photographic Image")             },
        { "TY-VID", N_("Video")                          }
    }
XMP plus:ImageType.

const TagVocabulary Exiv2::plusLicensorTelephoneType[]
 

Initial value:

 {
        { "cell",  N_("Cell")  },
        { "fax",   N_("FAX")   },
        { "home",  N_("Home")  },
        { "pager", N_("Pager") },
        { "work",  N_("Work")  }
    }
XMP plus:LicensorTelephoneType.

const TagVocabulary Exiv2::plusMinorModelAgeDisclosure[]
 

Initial value:

 {
        { "AG-UNK", N_("Age Unknown")     },
        { "AG-A25", N_("Age 25 or Over")  },
        { "AG-A24", N_("Age 24")          },
        { "AG-A23", N_("Age 23")          },
        { "AG-A22", N_("Age 22")          },
        { "AG-A21", N_("Age 21")          },
        { "AG-A20", N_("Age 20")          },
        { "AG-A19", N_("Age 19")          },
        { "AG-A18", N_("Age 18")          },
        { "AG-A17", N_("Age 17")          },
        { "AG-A16", N_("Age 16")          },
        { "AG-A15", N_("Age 15")          },
        { "AG-U14", N_("Age 14 or Under") }
    }
XMP plus:MinorModelAgeDisclosure.

const TagVocabulary Exiv2::plusModelReleaseStatus[]
 

Initial value:

 {
        { "MR-NON", N_("None")                                 },
        { "MR-NAP", N_("Not Applicable")                       },
        { "MR-UMR", N_("Unlimited Model Releases")             },
        { "MR-LMR", N_("Limited or Incomplete Model Releases") }
    }
XMP plus:ModelReleaseStatus.

const TagVocabulary Exiv2::plusPropertyReleaseStatus[]
 

Initial value:

 {
        { "PR-NON", N_("None")                                    },
        { "PR-NAP", N_("Not Applicable")                          },
        { "PR-UPR", N_("Unlimited Property Releases")             },
        { "PR-LPR", N_("Limited or Incomplete Property Releases") }
    }
XMP plus:PropertyReleaseStatus.

const TagVocabulary Exiv2::plusReuse[]
 

Initial value:

 {
        { "RE-NAP", N_("Not Applicable") },
        { "RE-REU", N_("Repeat Use")     }
    }
XMP plus:Reuse.

const XmpPropertyInfo Exiv2::xmpAuxInfo
 

Initial value:

 {
        { "Lens",             N_("Lens"),             "Text",        xmpText,          xmpInternal, N_("A description of the lens used to take the photograph. For example, \"70-200 mm f/2.8-4.0\".") },
        { "SerialNumber",     N_("SerialNumber"),     "Text",        xmpText,          xmpInternal, N_("The serial number of the camera or camera body used to take the photograph.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpDcInfo
 

Initial value:

 {
        { "contributor",      N_("Contributor"),      "bag ProperName",  xmpBag,       xmpExternal, N_("Contributors to the resource (other than the authors).")                               },
        { "coverage",         N_("Coverage"),         "Text",            xmpText,      xmpExternal, N_("The spatial or temporal topic of the resource, the spatial applicability of the "
                                                                                                   "resource, or the jurisdiction under which the resource is relevant.")                      },
        { "creator",          N_("Creator"),          "seq ProperName",  xmpSeq,       xmpExternal, N_("The authors of the resource (listed in order of precedence, if significant).")         },
        { "date",             N_("Date"),             "seq Date",        xmpSeq,       xmpExternal, N_("Date(s) that something interesting happened to the resource.")                         },
        { "description",      N_("Description"),      "Lang Alt",        langAlt,      xmpExternal, N_("A textual description of the content of the resource. Multiple values may be "
                                                                                                       "present for different languages.")                                                     },
        { "format",           N_("Format"),           "MIMEType",        xmpText,      xmpInternal, N_("The file format used when saving the resource. Tools and applications should set "
                                                                                                       "this property to the save format of the data. It may include appropriate qualifiers.") },
        { "identifier",       N_("Identifier"),       "Text",            xmpText,      xmpExternal, N_("Unique identifier of the resource. Recommended best practice is to identify the "
                                                                                                   "resource by means of a string conforming to a formal identification system.")              },
        { "language",         N_("Language"),         "bag Locale",      xmpBag,       xmpInternal, N_("An unordered array specifying the languages used in the resource.")                    },
        { "publisher",        N_("Publisher"),        "bag ProperName",  xmpBag,       xmpExternal, N_("An entity responsible for making the resource available. Examples of a Publisher "
                                                                                                   "include a person, an organization, or a service. Typically, the name of a Publisher "
                                                       "should be used to indicate the entity.")                                               },
        { "relation",         N_("Relation"),         "bag Text",        xmpBag,       xmpInternal, N_("Relationships to other documents. Recommended best practice is to identify the "
                                                                                                   "related resource by means of a string conforming to a formal identification system.")      },
        { "rights",           N_("Rights"),           "Lang Alt",        langAlt,      xmpExternal, N_("Informal rights statement, selected by language. Typically, rights information "
                                                                                                   "includes a statement about various property rights associated with the resource, "
                                                       "including intellectual property rights.")                                              },
        { "source",           N_("Source"),           "Text",            xmpText,      xmpExternal, N_("Unique identifier of the work from which this resource was derived.")                  },
        { "subject",          N_("Subject"),          "bag Text",        xmpBag,       xmpExternal, N_("An unordered array of descriptive phrases or keywords that specify the topic of the "
                                                                                                       "content of the resource.")                                                             },
        { "title",            N_("Title"),            "Lang Alt",        langAlt,      xmpExternal, N_("The title of the document, or the name given to the resource. Typically, it will be "
                                                                                                       "a name by which the resource is formally known.")                                      },
        { "type",             N_("Type"),             "bag open Choice", xmpBag,       xmpExternal, N_("A document type; for example, novel, poem, or working paper.")                         },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }
IGNORE

const XmpPropertyInfo Exiv2::xmpDigikamInfo
 

Initial value:

 {
        { "TagsList",               N_("Tags List"),                 "seq Text", xmpSeq,  xmpExternal, N_("The list of complete tags path as string. The path hierarchy is separated by '/' character (ex.: \"City/Paris/Monument/Eiffel Tower\".") },
        { "CaptionsAuthorNames",    N_("Captions Author Names"),     "Lang Alt", langAlt, xmpExternal, N_("The list of all captions author names for each language alternative captions set in standard XMP tags.") },
        { "CaptionsDateTimeStamps", N_("Captions Date Time Stamps"), "Lang Alt", langAlt, xmpExternal, N_("The list of all captions date time stamps for each language alternative captions set in standard XMP tags.") },

        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpIptcInfo
 

Initial value:

 {
        { "CiAdrCity",          N_("Contact Info-City"),           "Text",                      xmpText, xmpExternal, N_("The contact information city part.") },
        { "CiAdrCtry",          N_("Contact Info-Country"),        "Text",                      xmpText, xmpExternal, N_("The contact information country part.") },
        { "CiAdrExtadr",        N_("Contact Info-Address"),        "Text",                      xmpText, xmpExternal, N_("The contact information address part. Comprises an optional company name and all required "
                                                                                                                         "information to locate the building or postbox to which mail should be sent.") },
        { "CiAdrPcode",         N_("Contact Info-Postal Code"),    "Text",                      xmpText, xmpExternal, N_("The contact information part denoting the local postal code.") },
        { "CiAdrRegion",        N_("Contact Info-State/Province"), "Text",                      xmpText, xmpExternal, N_("The contact information part denoting regional information like state or province.") },
        { "CiEmailWork",        N_("Contact Info-Email"),          "Text",                      xmpText, xmpExternal, N_("The contact information email address part.") },
        { "CiTelWork",          N_("Contact Info-Phone"),          "Text",                      xmpText, xmpExternal, N_("The contact information phone number part.") },
        { "CiUrlWork",          N_("Contact Info-Web URL"),        "Text",                      xmpText, xmpExternal, N_("The contact information web address part.") },
        { "CountryCode",        N_("Country Code"),                "closed Choice of Text",     xmpText, xmpExternal, N_("Code of the country the content is focussing on -- either the country shown in visual "
                                                                                                                         "media or referenced in text or audio media. This element is at the top/first level of "
                                                                                                                         "a top-down geographical hierarchy. The code should be taken from ISO 3166 two or three "
                                                                                                                         "letter code. The full name of a country should go to the \"Country\" element.") },
        { "CreatorContactInfo", N_("Creator's Contact Info"),      "ContactInfo",               xmpText, xmpExternal, N_("The creator's contact information provides all necessary information to get in contact "
                                                                                                                         "with the creator of this news object and comprises a set of sub-properties for proper addressing.") },
        { "IntellectualGenre",  N_("Intellectual Genre"),          "Text",                      xmpText, xmpExternal, N_("Describes the nature, intellectual or journalistic characteristic of a news object, not "
                                                                                                                         "specifically its content.") },
        { "Location",           N_("Location"),                    "Text",                      xmpText, xmpExternal, N_("Name of a location the content is focussing on -- either the location shown in visual "
                                                                                                                         "media or referenced by text or audio media. This location name could either be the name "
                                                                                                                         "of a sublocation to a city or the name of a well known location or (natural) monument "
                                                                                                                         "outside a city. In the sense of a sublocation to a city this element is at the fourth "
                                                                                                                         "level of a top-down geographical hierarchy.") },
        { "Scene",              N_("IPTC Scene"),                  "bag closed Choice of Text", xmpBag, xmpExternal, N_("Describes the scene of a photo content. Specifies one or more terms from the IPTC "
                                                                                                                        "\"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits in an unordered list.") },
        { "SubjectCode",        N_("IPTC Subject Code"),           "bag closed Choice of Text", xmpBag, xmpExternal, N_("Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy to "
                                                                                                                        "categorize the content. Each Subject is represented as a string of 8 digits in an unordered list.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpMicrosoftInfo
 

Initial value:

 {
        { "CameraSerialNumber", N_("Camera Serial Number"), "Text",     xmpText, xmpExternal, N_("Camera Serial Number.") },
        { "DateAcquired",       N_("Date Acquired"),        "Date",     xmpText, xmpExternal, N_("Date Acquired.")        },
        { "FlashManufacturer",  N_("Flash Manufacturer"),   "Text",     xmpText, xmpExternal, N_("Flash Manufacturer.")   },
        { "FlashModel",         N_("Flash Model"),          "Text",     xmpText, xmpExternal, N_("Flash Model.")          },
        { "LastKeywordIPTC",    N_("Last Keyword IPTC"),    "bag Text", xmpBag,  xmpExternal, N_("Last Keyword IPTC.")    },
        { "LastKeywordXMP",     N_("Last Keyword XMP"),     "bag Text", xmpBag,  xmpExternal, N_("Last Keyword XMP.")     },
        { "LensManufacturer",   N_("Lens Manufacturer"),    "Text",     xmpText, xmpExternal, N_("Lens Manufacturer.")    },
        { "LensModel",          N_("Lens Model"),           "Text",     xmpText, xmpExternal, N_("Lens Model.")           },
        { "Rating",             N_("Rating Percent"),       "Text",     xmpText, xmpExternal, N_("Rating Percent.")       },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpPdfInfo
 

Initial value:

 {
        { "Keywords",   N_("Keywords"),    "Text",      xmpText, xmpExternal, N_("Keywords.") },
        { "PDFVersion", N_("PDF Version"), "Text",      xmpText, xmpInternal, N_("The PDF file version (for example: 1.0, 1.3, and so on).") },
        { "Producer",   N_("Producer"),    "AgentName", xmpText, xmpInternal, N_("The name of the tool that created the PDF document.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpPhotoshopInfo
 

Initial value:

 {
        { "AuthorsPosition",        N_("Authors Position"),        "Text",       xmpText, xmpExternal, N_("By-line title.") },
        { "CaptionWriter",          N_("Caption Writer"),          "ProperName", xmpText, xmpExternal, N_("Writer/editor.") },
        { "Category",               N_("Category"),                "Text",       xmpText, xmpExternal, N_("Category. Limited to 3 7-bit ASCII characters.") },
        { "City",                   N_("City"),                    "Text",       xmpText, xmpExternal, N_("City.") },
        { "Country",                N_("Country"),                 "Text",       xmpText, xmpExternal, N_("Country/primary location.") },
        { "Credit",                 N_("Credit"),                  "Text",       xmpText, xmpExternal, N_("Credit.") },
        { "DateCreated",            N_("Date Created"),            "Date",       xmpText, xmpExternal, N_("The date the intellectual content of the document was created (rather than the creation "
                                                                                                          "date of the physical representation), following IIM conventions. For example, a photo "
                                                                                                          "taken during the American Civil War would have a creation date during that epoch "
                                                                                                          "(1861-1865) rather than the date the photo was digitized for archiving.") },
        { "Headline",               N_("Headline"),                "Text",       xmpText, xmpExternal, N_("Headline.") },
        { "Instructions",           N_("Instructions"),            "Text",       xmpText, xmpExternal, N_("Special instructions.") },
        { "Source",                 N_("Source"),                  "Text",       xmpText, xmpExternal, N_("Source.") },
        { "State",                  N_("State"),                   "Text",       xmpText, xmpExternal, N_("Province/state.") },
        { "SupplementalCategories", N_("Supplemental Categories"), "bag Text",   xmpBag,  xmpExternal, N_("Supplemental category.") },
        { "TransmissionReference",  N_("Transmission Reference"),  "Text",       xmpText, xmpExternal, N_("Original transmission reference.") },
        { "Urgency",                N_("Urgency"),                 "Integer",    xmpText, xmpExternal, N_("Urgency. Valid range is 1-8.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpXmpBJInfo
 

Initial value:

 {
        { "JobRef",           N_("Job Reference"),     "bag Job",   xmpText,    xmpExternal, N_("References an external job management file for a job process in which the document is being used. Use of job "
                                                                                                "names is under user control. Typical use would be to identify all documents that are part of a particular job or contract. "
                                                                                                "There are multiple values because there can be more than one job using a particular document at any time, and it can "
                                                                                                "also be useful to keep historical information about what jobs a document was part of previously.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpXmpRightsInfo
 

Initial value:

 {
        { "Certificate",      N_("Certificate"),   "URL",            xmpText,       xmpExternal, N_("Online rights management certificate.") },
        { "Marked",           N_("Marked"),        "Boolean",        xmpText,       xmpExternal, N_("Indicates that this is a rights-managed resource.") },
        { "Owner",            N_("Owner"),         "bag ProperName", xmpBag,        xmpExternal, N_("An unordered array specifying the legal owner(s) of a resource.") },
        { "UsageTerms",       N_("Usage Terms"),   "Lang Alt",       langAlt,       xmpExternal, N_("Text instructions on how a resource can be legally used.") },
        { "WebStatement",     N_("Web Statement"), "URL",            xmpText,       xmpExternal, N_("The location of a web page describing the owner and/or rights statement for this resource.") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }

const XmpPropertyInfo Exiv2::xmpXmpTPgInfo
 

Initial value:

 {
        { "MaxPageSize",      N_("Maximum Page Size"), "Dimensions",   xmpText,    xmpInternal, N_("The size of the largest page in the document (including any in contained documents).") },
        { "NPages",           N_("Number of Pages"),   "Integer",      xmpText,    xmpInternal, N_("The number of pages in the document (including any in contained documents).") },
        { "Fonts",            N_("Fonts"),             "bag Font",     xmpText,    xmpInternal, N_("An unordered array of fonts that are used in the document (including any in contained documents).") },
        { "Colorants",        N_("Colorants"),         "seq Colorant", xmpText,    xmpInternal, N_("An ordered array of colorants (swatches) that are used in the document (including any in contained documents).") },
        { "PlateNames",       N_("Plate Names"),       "seq Text",     xmpSeq,     xmpInternal, N_("An ordered array of plate names that are needed to print the document (including any in contained documents).") },
        
        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
    }


Generated on Thu Dec 31 03:57:57 2009 for Exiv2 by  doxygen 1.3.9.1