![]() |
Exiv2
|
Concrete keys for Exif metadata and access to Exif tag reference data. More...
#include <tags.hpp>
Classes | |
struct | Impl |
Internal Pimpl structure with private members and data of class ExifKey. More... | |
Public Types | |
typedef std::auto_ptr< ExifKey > | AutoPtr |
Shortcut for an ExifKey auto pointer. | |
![]() | |
typedef std::auto_ptr< Key > | AutoPtr |
Shortcut for a Key auto pointer. | |
Public Member Functions | |
Creators | |
ExifKey (const std::string &key) | |
Constructor to create an Exif key from a key string. More... | |
ExifKey (uint16_t tag, const std::string &groupName) | |
Constructor to create an Exif key from the tag number and group name. More... | |
ExifKey (const TagInfo &ti) | |
Constructor to create an Exif key from a TagInfo instance. More... | |
ExifKey (const ExifKey &rhs) | |
Copy constructor. | |
virtual | ~ExifKey () |
Destructor. | |
Manipulators | |
ExifKey & | operator= (const ExifKey &rhs) |
Assignment operator. | |
void | setIdx (int idx) |
Set the index. | |
![]() | |
virtual | ~Key () |
Destructor. | |
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. | |
std::ostream & | write (std::ostream &os) const |
Write the key to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for Key, operator<<(std::ostream &os, const Key &key). | |
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. More... | |
virtual const char * | familyName () const |
Return an identifier for the type of metadata (the first part of the key) More... | |
virtual std::string | groupName () const |
Return the name of the group (the second part of the key) More... | |
int | ifdId () const |
Return the IFD id as an integer. (Do not use, this is meant for library internal use.) | |
virtual std::string | tagName () const |
Return the name of the tag (which is also the third part of the key) More... | |
virtual uint16_t | tag () const |
Return the tag number. More... | |
virtual std::string | tagLabel () const |
Return a label for the tag. More... | |
std::string | tagDesc () const |
Return the tag description. | |
TypeId | defaultTypeId () const |
Return the default type id for this tag. | |
AutoPtr | clone () const |
int | idx () const |
Return the index (unique id of this key within the original Exif data, 0 if not set) | |
Additional Inherited Members | |
![]() | |
Key & | operator= (const Key &rhs) |
Assignment operator. Protected so that it can only be used by subclasses but not directly. | |
Concrete keys for Exif metadata and access to Exif tag reference data.
|
explicit |
Constructor to create an Exif key from a key string.
key | The key string. |
Error | if the first part of the key is not 'Exif' or the remainin parts of the key cannot be parsed and converted to a group name and tag name. |
References key().
Exiv2::ExifKey::ExifKey | ( | uint16_t | tag, |
const std::string & | groupName | ||
) |
Constructor to create an Exif key from the tag number and group name.
tag | The tag value |
groupName | The name of the group, i.e., the second part of the Exif key. |
Error | if the key cannot be constructed from the tag number and group name. |
References Exiv2::Internal::groupId(), groupName(), ifdId(), Exiv2::Internal::isExifIfd(), Exiv2::Internal::isMakerIfd(), tag(), and Exiv2::Internal::tagInfo().
|
explicit |
Constructor to create an Exif key from a TagInfo instance.
ti | The TagInfo instance |
Error | if the key cannot be constructed from the tag number and group name. |
References Exiv2::Internal::groupName(), ifdId(), Exiv2::TagInfo::ifdId_, Exiv2::Internal::isExifIfd(), Exiv2::Internal::isMakerIfd(), and Exiv2::TagInfo::tag_.
|
virtual |
Return an identifier for the type of metadata (the first part of the key)
Implements Exiv2::Key.
Referenced by Exiv2::ExifKey::Impl::decomposeKey().
|
virtual |
Return the name of the group (the second part of the key)
Implements Exiv2::Key.
Referenced by Exiv2::ExifKey::Impl::decomposeKey(), ExifKey(), and Exiv2::operator<<().
|
virtual |
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.
Implements Exiv2::Key.
Referenced by Exiv2::ExifKey::Impl::decomposeKey(), Exiv2::Internal::TiffEncoder::encodeTiffComponent(), ExifKey(), Exiv2::ExifData::findKey(), and Exiv2::operator<<().
|
virtual |
Return the tag number.
Implements Exiv2::Key.
Referenced by Exiv2::ExifKey::Impl::decomposeKey(), Exiv2::ExifTags::defaultCount(), ExifKey(), Exiv2::ExifKey::Impl::makeKey(), Exiv2::operator<<(), and Exiv2::ExifTags::sectionName().
|
virtual |
Return a label for the tag.
Implements Exiv2::Key.
|
virtual |
Return the name of the tag (which is also the third part of the key)
Implements Exiv2::Key.
Referenced by Exiv2::ExifKey::Impl::decomposeKey(), Exiv2::ExifKey::Impl::makeKey(), and Exiv2::operator<<().