Exiv2::ExifKey Class Reference

Concrete keys for Exif metadata. More...

#include <tags.hpp>

Inheritance diagram for Exiv2::ExifKey:

Inheritance graph
[legend]
Collaboration diagram for Exiv2::ExifKey:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::auto_ptr< ExifKeyAutoPtr
 Shortcut for an ExifKey auto pointer.

Public Member Functions

Creators
 ExifKey (const std::string &key)
 Constructor to create an Exif key from a key string.
 ExifKey (uint16_t tag, const std::string &ifdItem)
 Constructor to create an Exif key from a tag and IFD item string.
 ExifKey (const ExifKey &rhs)
 Copy constructor.
Manipulators
ExifKeyoperator= (const ExifKey &rhs)
 Assignment operator.
void setIdx (int idx)
 Set the index.
Accessors
virtual std::string key () const
 Return the key of the metadatum as a string. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an ExifData may contain multiple metadata with the same key.
virtual const char * familyName () const
 Return an identifier for the type of metadata (the first part of the key).
virtual std::string groupName () const
 Return the name of the group (the second part of the key). For Exif keys, the group name is the IFD item.
virtual std::string tagName () const
 Return the name of the tag (which is also the third part of the key).
virtual std::string tagLabel () const
 Return a label for the tag.
virtual uint16_t tag () const
 Return the tag number.
AutoPtr clone () const
 Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted.
IfdId ifdId () const
 Return the IFD id.
const char * ifdName () const
 Return the name of the IFD.
std::string ifdItem () const
 Return the related image item.
std::string sectionName () const
 Return the name of the Exif section (deprecated).
int idx () const
 Return the index (unique id of this key within the original Exif data, 0 if not set).

Protected Member Functions

Manipulators
void makeKey ()
 Set the key corresponding to the tag and IFD id. The key is of the form 'Exif.ifdItem.tagName'.
void decomposeKey ()
 Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws Error .

Detailed Description

Concrete keys for Exif metadata.
Examples:

addmoddel.cpp.


Constructor & Destructor Documentation

Exiv2::ExifKey::ExifKey const std::string &  key  )  [explicit]
 

Constructor to create an Exif key from a key string.

Parameters:
key The key string.
Exceptions:
Error if the first part of the key is not 'Exif' or the remainin parts of the key cannot be parsed and converted to an ifd-item and tag name.

Exiv2::ExifKey::ExifKey uint16_t  tag,
const std::string &  ifdItem
 

Constructor to create an Exif key from a tag and IFD item string.

Parameters:
tag The tag value
ifdItem The IFD string. For MakerNote tags, this must be the IFD item of the specific MakerNote. "MakerNote" is not allowed.
Exceptions:
Error if the key cannot be constructed from the tag and IFD item parameters.


Member Function Documentation

void Exiv2::ExifKey::decomposeKey  )  [protected]
 

Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws Error .

Exceptions:
Error if the key cannot be decomposed.


The documentation for this class was generated from the following files:
Generated on Thu Dec 31 03:58:09 2009 for Exiv2 by  doxygen 1.3.9.1