 |
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:180
const TagInfo * tagInfo_
Tag info.
Definition: tags.cpp:250
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:349
void taglist(std::ostream &os, IfdId ifdId)
Print the list of tags for ifdId to the output stream os.
Definition: tags_int.cpp:2098
TagListFct tagList_
Tag list.
Definition: tags.hpp:72
Impl()
Default constructor.
Definition: tags.cpp:260
virtual std::string tagLabel() const
Return a label for the tag.
Definition: tags.cpp:395
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:276
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:390
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:2108
uint16_t tag_
Tag value.
Definition: tags.cpp:251
@ 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:2034
std::string groupName_
The group name.
Definition: tags.cpp:254
int ifdId_
Link to the (preferred) IFD.
Definition: tags.hpp:99
ExifKey & operator=(const ExifKey &rhs)
Assignment operator.
Definition: tags.cpp:362
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:312
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags_int.cpp:2155
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:433
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:253
bool operator==(const std::string &key) const
Comparison operator for use with the find template.
Definition: tags.cpp:98
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:401
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:385
TypeId defaultTypeId() const
Return the default type id for this tag.
Definition: tags.cpp:407
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags_int.cpp:2162
bool operator==(int ifdId) const
Comparison operator for IFD id.
Definition: tags.cpp:122
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:2148
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:2060
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:2185
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key)
Definition: tags.cpp:380
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:375
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:210
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:1757
std::string key_
Key
Definition: tags.cpp:255
bool operator==(const TagDetails &td, const LensTypeAndFocalLengthAndMaxAperture <fl)
Compare tag details with a lens entry.
Definition: canonmn_int.cpp:1809
std::string tagName() const
Return the name of the tag.
Definition: tags.cpp:265
const TagInfo * gpsTagList()
Return read-only list of built-in GPS tags.
Definition: tags_int.cpp:1931
IfdId ifdId_
The IFD associated with this tag.
Definition: tags.cpp:252
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:1428
int ifdId() const
Return the IFD id as an integer. (Do not use, this is meant for library internal use....
Definition: tags.cpp:428
virtual ~ExifKey()
Destructor.
Definition: tags.cpp:360
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:132
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:370
const TagInfo * tagInfo(uint16_t tag, IfdId ifdId)
Return the tag info for tag and ifdId.
Definition: tags_int.cpp:2115
virtual uint16_t tag() const
Return the tag number.
Definition: tags.cpp:413
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:324
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:218
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:2140
static const char * familyName_
"Exif"
Definition: tags.cpp:248
Basic file utility functions required by Exiv2.
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags_int.cpp:2070
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