24#include "exiv2lib_export.h"
27#include "metadatum.hpp"
49 typedef std::ostream& (*PrintFct)(std::ostream&,
const Value&,
const ExifData* pExifData);
69 explicit GroupName(
const std::string&
groupName);
99 class EXIV2API ExifTags {
103 ExifTags(
const ExifTags& rhs);
105 ExifTags& operator=(
const ExifTags& rhs);
113 static void taglist(std::ostream& os);
192 virtual std::string
key()
const;
197 virtual std::string
tagName()
const;
198 virtual uint16_t
tag()
const;
199 virtual std::string
tagLabel()
const;
212 virtual ExifKey* clone_()
const;
217 std::auto_ptr<Impl> p_;
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition exif.hpp:434
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition tags.hpp:140
ExifKey(const std::string &key)
Constructor to create an Exif key from a key string.
Definition tags.cpp:341
ExifKey & operator=(const ExifKey &rhs)
Assignment operator.
Definition tags.cpp:354
int idx() const
Return the index (unique id of this key within the original Exif data, 0 if not set).
Definition tags.cpp:425
virtual std::string tagName() const
Return the name of the tag (which is also the third part of the key).
Definition tags.cpp:382
virtual uint16_t tag() const
Return the tag number.
Definition tags.cpp:405
virtual std::string groupName() const
Return the name of the group (the second part of the key).
Definition tags.cpp:377
int ifdId() const
Return the IFD id as an integer. (Do not use, this is meant for library internal use....
Definition tags.cpp:420
TypeId defaultTypeId() const
Return the default type id for this tag.
Definition tags.cpp:399
std::auto_ptr< ExifKey > AutoPtr
Shortcut for an ExifKey auto pointer.
Definition tags.hpp:143
virtual std::string key() const
Return the key of the metadatum as a string. The key is of the form 'familyName.groupName....
Definition tags.cpp:367
std::string tagDesc() const
Return the tag description.
Definition tags.cpp:393
virtual std::string tagLabel() const
Return a label for the tag.
Definition tags.cpp:387
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key).
Definition tags.cpp:372
void setIdx(int idx)
Set the index.
Definition tags.cpp:362
Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata.
Definition metadatum.hpp:44
Common interface for all types of values used with metadata.
Definition value.hpp:51
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition tags_int.cpp:2540
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition asfvideo.hpp:36
EXIV2API std::ostream & operator<<(std::ostream &os, const DataSet &dataSet)
Output operator for dataSet.
Definition datasets.cpp:709
const TagInfo *(* TagListFct)()
A function returning a tag list.
Definition tags.hpp:51
TypeId
Exiv2 value type identifiers.
Definition types.hpp:119
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition tags.hpp:49
Internal Pimpl structure with private members and data of class ExifKey.
Definition tags.cpp:210
Search key to find a GroupInfo by its group name.
Definition tags.hpp:68
std::string g_
Group name.
Definition tags.hpp:70
The details of an Exif group. Groups include IFDs and binary arrays.
Definition tags.hpp:57
int ifdId_
IFD id.
Definition tags.hpp:61
bool operator==(int ifdId) const
Comparison operator for IFD id.
Definition tags.cpp:114
TagListFct tagList_
Tag list.
Definition tags.hpp:64
const char * ifdName_
IFD name.
Definition tags.hpp:62
const char * groupName_
Group name, unique for each group.
Definition tags.hpp:63
Tag information.
Definition tags.hpp:74
uint16_t tag_
Tag.
Definition tags.hpp:87
int sectionId_
Section id.
Definition tags.hpp:92
TagInfo(uint16_t tag, const char *name, const char *title, const char *desc, int ifdId, int sectionId, TypeId typeId, int16_t count, PrintFct printFct)
Constructor.
Definition tags.cpp:124
int16_t count_
The number of values (not bytes!), 0=any, -1=count not known.
Definition tags.hpp:94
TypeId typeId_
Type id.
Definition tags.hpp:93
int ifdId_
Link to the (preferred) IFD.
Definition tags.hpp:91
const char * desc_
Short tag description.
Definition tags.hpp:90
const char * title_
Tag title.
Definition tags.hpp:89
PrintFct printFct_
Pointer to tag print function.
Definition tags.hpp:95
const char * name_
One word tag label.
Definition tags.hpp:88