 |
Exiv2
|
Go to the documentation of this file.
32 #include "exiv2lib_export.h"
57 typedef std::ostream& (*PrintFct)(std::ostream&,
const Value&,
const ExifData* pExifData);
121 static void taglist(std::ostream& os);
126 static const char* sectionName(
const ExifKey& key);
128 static uint16_t defaultCount(
const ExifKey& key);
195 void setIdx(
int idx);
201 virtual const char* familyName()
const;
206 virtual uint16_t tag()
const;
211 TypeId defaultTypeId()
const;
220 virtual ExifKey* clone_()
const;
225 std::auto_ptr<Impl> p_;
237 #endif // #ifndef TAGS_HPP_
Pentax MakerNote implemented according to the specification http://www.gvsoft.homedns....
const char * name_
Section name (one word)
Definition: tags_int.hpp:181
const TagInfo * tagInfo_
Tag info.
Definition: tags.cpp:249
Key & operator=(const Key &rhs)
Assignment operator. Protected so that it can only be used by subclasses but not directly.
Definition: metadatum.cpp:49
Olympus makernote tags. References: [1] Exif file format, Appendix 1: MakerNote of Olympus Digicams ...
Nikon makernote tags. References: [1] MakerNote EXIF Tag of the Nikon 990 by Max Lyons [2] Exif fil...
ExifKey(const std::string &key)
Constructor to create an Exif key from a key string.
Definition: tags.cpp:348
void taglist(std::ostream &os, IfdId ifdId)
Print the list of tags for ifdId to the output stream os.
Definition: tags_int.cpp:2101
TagListFct tagList_
Tag list.
Definition: tags.hpp:72
Impl()
Default constructor.
Definition: tags.cpp:259
virtual std::string tagLabel() const
Return a label for the tag.
Definition: tags.cpp:394
Common interface for all types of values used with metadata.
Definition: value.hpp:60
int ifdId_
IFD id.
Definition: tags.hpp:69
const typedef TagInfo *(* TagListFct)()
A function returning a tag list.
Definition: tags.hpp:59
void decomposeKey(const std::string &key)
Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decom...
Definition: tags.cpp:275
const char * ifdName_
IFD name.
Definition: tags.hpp:70
std::auto_ptr< Key > AutoPtr
Shortcut for a Key auto pointer.
Definition: metadatum.hpp:58
IfdId
Type to specify the IFD to which a metadata belongs.
Definition: tags_int.hpp:54
Type definitions for Exiv2 and related functionality.
Sigma and Foveon MakerNote implemented according to the specification SIGMA and FOVEON EXIF MakerNote...
The details of an Exif group. Groups include IFDs and binary arrays.
Definition: tags.hpp:65
Minolta MakerNote implemented using the following references: Minolta Makernote Format Specification...
virtual std::string tagName() const
Return the name of the tag (which is also the third part of the key)
Definition: tags.cpp:389
const char * name_
One word tag label.
Definition: tags.hpp:96
const TagInfo * tagList(IfdId ifdId)
Return the tag list for ifdId.
Definition: tags_int.cpp:2111
uint16_t tag_
Tag value.
Definition: tags.cpp:250
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:132
const char * groupName_
Group name, unique for each group.
Definition: tags.hpp:71
const TagInfo * iopTagList()
Return read-only list of built-in IOP tags.
Definition: tags_int.cpp:2037
std::string groupName_
The group name.
Definition: tags.cpp:253
int ifdId_
Link to the (preferred) IFD.
Definition: tags.hpp:99
ExifKey & operator=(const ExifKey &rhs)
Assignment operator.
Definition: tags.cpp:361
Samsung makernote tags. References: [1] ExifTool by Phil Harvey.
void makeKey(uint16_t tag, IfdId ifdId, const TagInfo *tagInfo)
Set the key corresponding to the tag, ifdId and tagInfo. The key is of the form 'Exif....
Definition: tags.cpp:311
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags_int.cpp:2158
Canon makernote tags. References: [1] EXIF MakerNote of Canon by David Burren [2] Canon makernote t...
int idx() const
Return the index (unique id of this key within the original Exif data, 0 if not set)
Definition: tags.cpp:432
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition: tags.hpp:57
int idx_
Unique id of the Exif key in the image.
Definition: tags.cpp:252
bool operator==(const std::string &key) const
Comparison operator for use with the find template.
Definition: tags.cpp:97
Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata.
Definition: metadatum.hpp:55
TypeId typeId_
Type id.
Definition: tags.hpp:101
std::string tagDesc() const
Return the tag description.
Definition: tags.cpp:400
int16_t count_
The number of values (not bytes!), 0=any, -1=count not known.
Definition: tags.hpp:102
virtual std::string groupName() const
Return the name of the group (the second part of the key)
Definition: tags.cpp:384
TypeId defaultTypeId() const
Return the default type id for this tag.
Definition: tags.cpp:406
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags_int.cpp:2165
bool operator==(int ifdId) const
Comparison operator for IFD id.
Definition: tags.cpp:121
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:148
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags_int.cpp:2151
std::auto_ptr< ExifKey > AutoPtr
Shortcut for an ExifKey auto pointer.
Definition: tags.hpp:151
EXIV2API std::ostream & operator<<(std::ostream &os, const DataSet &dataSet)
Output operator for dataSet.
Definition: datasets.cpp:709
bool isMakerIfd(IfdId ifdId)
Return true if ifdId is a makernote IFD id. (Note: returns false for makerIfd)
Definition: tags_int.cpp:2063
uint16_t tagNumber(const std::string &tagName, IfdId ifdId)
Return the tag number for one combination of IFD id and tagName. If the tagName is not known,...
Definition: tags_int.cpp:2214
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key)
Definition: tags.cpp:379
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
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:374
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:211
Value interface and concrete subclasses.
Exif and IPTC conversions to and from XMP.
TypeId
Exiv2 value type identifiers.
Definition: types.hpp:130
static const char * typeName(TypeId typeId)
Return the name of the type, 0 if unknown.
Definition: types.cpp:107
Tag information.
Definition: tags.hpp:82
const TagInfo * exifTagList()
Return read-only list of built-in Exif IFD tags.
Definition: tags_int.cpp:1761
std::string key_
Key
Definition: tags.cpp:254
bool operator==(const TagDetails &td, const LensTypeAndFocalLengthAndMaxAperture <fl)
Compare tag details with a lens entry.
Definition: canonmn_int.cpp:1991
std::string tagName() const
Return the name of the tag.
Definition: tags.cpp:264
const TagInfo * gpsTagList()
Return read-only list of built-in GPS tags.
Definition: tags_int.cpp:1934
IfdId ifdId_
The IFD associated with this tag.
Definition: tags.cpp:251
Sony MakerNote implemented using the following references: Sony Makernote list by Phil Harvey Email...
const TagInfo * ifdTagList()
Return read-only list of built-in IFD0/1 tags.
Definition: tags_int.cpp:1429
int ifdId() const
Return the IFD id as an integer. (Do not use, this is meant for library internal use....
Definition: tags.cpp:427
virtual ~ExifKey()
Destructor.
Definition: tags.cpp:359
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:131
PrintFct printFct_
Pointer to tag print function.
Definition: tags.hpp:103
const char * desc_
Short tag description.
Definition: tags.hpp:98
void setIdx(int idx)
Set the index.
Definition: tags.cpp:369
const TagInfo * tagInfo(uint16_t tag, IfdId ifdId)
Return the tag info for tag and ifdId.
Definition: tags_int.cpp:2118
virtual uint16_t tag() const
Return the tag number.
Definition: tags.cpp:412
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:323
const SectionInfo sectionInfo[]
List of all defined Exif sections.
Panasonic MakerNote implemented using the following references: Panasonic MakerNote Information by To...
uint16_t tag_
Tag.
Definition: tags.hpp:95
@ string
IPTC string type.
Definition: types.hpp:147
int sectionId_
Section id.
Definition: tags.hpp:100
Internal Pimpl structure with private members and data of class ExifKey.
Definition: tags.cpp:217
std::string g_
Group name.
Definition: tags.hpp:78
Casio MakerNote implemented using the following references: Casio MakerNote Information by GVsoft,...
const char * title_
Tag title.
Definition: tags.hpp:97
Fujifilm MakerNote implemented according to the specification in Appendix 4: Makernote of Fujifilm of...
IfdId groupId(const std::string &groupName)
Return the group id for a group name.
Definition: tags_int.cpp:2143
static const char * familyName_
"Exif"
Definition: tags.cpp:247
Basic file utility functions required by Exiv2.
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags_int.cpp:2073
Error class for exceptions, log message class.
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434