Added methods to access built-in read-only taglists (Max Lapshin)
This commit is contained in:
parent
757724b5f1
commit
3ff1bf4e13
@ -102,6 +102,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", "Unknown CanonMakerNote tag", canonIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
//! Macro, tag 0x0001
|
||||
extern const TagDetails canonCsMacro[] = {
|
||||
{ 1, "On" },
|
||||
@ -368,6 +373,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", "Unknown Canon Camera Settings 1 tag", canonCsIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagListCs()
|
||||
{
|
||||
return tagInfoCs_;
|
||||
}
|
||||
|
||||
//! WhiteBalance, tag 0x0007
|
||||
extern const TagDetails canonSiWhiteBalance[] = {
|
||||
{ 0, "Auto" },
|
||||
@ -449,6 +459,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonSiTag)", "(UnknownCanonSiTag)", "Unknown Canon Camera Settings 2 tag", canonSiIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagListSi()
|
||||
{
|
||||
return tagInfoSi_;
|
||||
}
|
||||
|
||||
//! PanoramaDirection, tag 0x0005
|
||||
extern const TagDetails canonPaDirection[] = {
|
||||
{ 0, "Left to right" },
|
||||
@ -466,6 +481,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonCs2Tag)", "(UnknownCanonCs2Tag)", "Unknown Canon Panorama tag", canonPaIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagListPa()
|
||||
{
|
||||
return tagInfoPa_;
|
||||
}
|
||||
|
||||
// Canon Custom Function Tag Info
|
||||
const TagInfo CanonMakerNote::tagInfoCf_[] = {
|
||||
TagInfo(0x0001, "NoiseReduction", "NoiseReduction", "Long exposure noise reduction", canonCfIfdId, makerTags, unsignedShort, printValue),
|
||||
@ -487,6 +507,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonCfTag)", "(UnknownCanonCfTag)", "Unknown Canon Custom Function tag", canonCfIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagListCf()
|
||||
{
|
||||
return tagInfoCf_;
|
||||
}
|
||||
|
||||
//! AFPointsUsed, tag 0x0016
|
||||
extern const TagDetailsBitmask canonPiAFPointsUsed[] = {
|
||||
{ 0x01, "right" },
|
||||
@ -523,6 +548,10 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownCanonPiTag)", "(UnknownCanonPiTag)", "Unknown Canon Picture Info tag", canonPiIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* CanonMakerNote::tagListPi()
|
||||
{
|
||||
return tagInfoPi_;
|
||||
}
|
||||
|
||||
int CanonMakerNote::read(const byte* buf,
|
||||
long len,
|
||||
|
||||
@ -127,6 +127,18 @@ namespace Exiv2 {
|
||||
long size() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Canon tags
|
||||
static const TagInfo* tagList();
|
||||
//! Return read-only list of built-in Canon Camera Settings tags
|
||||
static const TagInfo* tagListCs();
|
||||
//! Return read-only list of built-in Canon Shot Info tags
|
||||
static const TagInfo* tagListSi();
|
||||
//! Return read-only list of built-in Canon Panorama tags
|
||||
static const TagInfo* tagListPa();
|
||||
//! Return read-only list of built-in Canon Custom Function tags
|
||||
static const TagInfo* tagListCf();
|
||||
//! Return read-only list of built-in Canon Picture Info tags
|
||||
static const TagInfo* tagListPi();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Canon %MakerNote tags
|
||||
|
||||
@ -163,6 +163,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownFujiMakerNoteTag)", "(UnknownFujiMakerNoteTag)", "Unknown FujiMakerNote tag", fujiIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* FujiMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
FujiMakerNote::FujiMakerNote(bool alloc)
|
||||
: IfdMakerNote(fujiIfdId, alloc)
|
||||
{
|
||||
|
||||
@ -116,6 +116,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Fujifilm tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @cond IGNORE
|
||||
|
||||
@ -240,6 +240,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownMinoltaMakerNoteTag)", "(UnknownMinoltaMakerNoteTag)", "Unknown MinoltaMakerNote tag", minoltaIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* MinoltaMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
// -- Standard Minolta camera settings ---------------------------------------------------------------
|
||||
|
||||
//! Lookup table to translate Minolta Std camera settings exposure mode values to readable labels
|
||||
@ -601,9 +606,14 @@ namespace Exiv2 {
|
||||
TagInfo(0x003F, "FlashMetering", "Flash Metering", "Flash metering", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashMeteringStd)),
|
||||
|
||||
// End of list marker
|
||||
TagInfo(0xffff, "(UnknownMinoltaCsTag)", "(UnknownMinoltaCsTag)", "Unknown Minolta Camera Settings tag", minoltaCsNewIfdId, makerTags, invalidTypeId, printValue)
|
||||
TagInfo(0xffff, "(UnknownMinoltaCsStdTag)", "(UnknownMinoltaCsStdTag)", "Unknown Minolta Camera Settings tag", minoltaCsNewIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* MinoltaMakerNote::tagListCsStd()
|
||||
{
|
||||
return tagInfoCsStd_;
|
||||
}
|
||||
|
||||
// -- Minolta Dynax 7D camera settings ---------------------------------------------------------------
|
||||
|
||||
//! Lookup table to translate Minolta Dynax 7D camera settings exposure mode values to readable labels
|
||||
@ -750,6 +760,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)", "Unknown Minolta Camera Settings 7D tag", minoltaCs7DIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* MinoltaMakerNote::tagListCs7D()
|
||||
{
|
||||
return tagInfoCs7D_;
|
||||
}
|
||||
|
||||
// -- Minolta Dynax 5D camera settings ---------------------------------------------------------------
|
||||
|
||||
//! Lookup table to translate Minolta Dynax 5D camera settings exposure mode values to readable labels
|
||||
@ -934,6 +949,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownMinoltaCs5DTag)", "(UnknownMinoltaCs5DTag)", "Unknown Minolta Camera Settings 5D tag", minoltaCs5DIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* MinoltaMakerNote::tagListCs5D()
|
||||
{
|
||||
return tagInfoCs5D_;
|
||||
}
|
||||
|
||||
// TODO : Add camera settings tags info "New2"...
|
||||
|
||||
//! @cond IGNORE
|
||||
|
||||
@ -126,6 +126,14 @@ namespace Exiv2 {
|
||||
long size() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Minolta tags
|
||||
static const TagInfo* tagList();
|
||||
//! Return read-only list of built-in Minolta Standard Camera Settings tags
|
||||
static const TagInfo* tagListCsStd();
|
||||
//! Return read-only list of built-in Minolta 7D Camera Settings tags
|
||||
static const TagInfo* tagListCs7D();
|
||||
//! Return read-only list of built-in Minolta 5D Camera Settings tags
|
||||
static const TagInfo* tagListCs5D();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Minolta %MakerNote tags
|
||||
|
||||
@ -106,6 +106,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownNikon1MnTag)", "(UnknownNikon1MnTag)", "Unknown Nikon1MakerNote tag", nikon1IfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* Nikon1MakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
Nikon1MakerNote::Nikon1MakerNote(bool alloc)
|
||||
: IfdMakerNote(nikon1IfdId, alloc)
|
||||
{
|
||||
@ -300,6 +305,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownNikon2MnTag)", "(UnknownNikon2MnTag)", "Unknown Nikon2MakerNote tag", nikon2IfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* Nikon2MakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
Nikon2MakerNote::Nikon2MakerNote(bool alloc)
|
||||
: IfdMakerNote(nikon2IfdId, alloc)
|
||||
{
|
||||
@ -500,6 +510,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownNikon3MnTag)", "(UnknownNikon3MnTag)", "Unknown Nikon3MakerNote tag", nikon3IfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* Nikon3MakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
Nikon3MakerNote::Nikon3MakerNote(bool alloc)
|
||||
: IfdMakerNote(nikon3IfdId, alloc)
|
||||
{
|
||||
|
||||
@ -114,6 +114,8 @@ namespace Exiv2 {
|
||||
//@{
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Nikon1 tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Nikon1 %MakerNote tags
|
||||
@ -184,6 +186,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Nikon2 tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Nikon2 %MakerNote tags
|
||||
@ -243,6 +247,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Nikon3 tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Nikon3 %MakerNote tags
|
||||
|
||||
@ -164,6 +164,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownOlympusMakerNoteTag)", "(UnknownOlympusMakerNoteTag)", "Unknown OlympusMakerNote tag", olympusIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* OlympusMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
OlympusMakerNote::OlympusMakerNote(bool alloc)
|
||||
: IfdMakerNote(olympusIfdId, alloc)
|
||||
{
|
||||
|
||||
@ -119,6 +119,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Olympus tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Olympus %MakerNote tags
|
||||
|
||||
@ -181,6 +181,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", "Unknown PanasonicMakerNote tag", panasonicIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* PanasonicMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
PanasonicMakerNote::PanasonicMakerNote(bool alloc)
|
||||
: IfdMakerNote(panasonicIfdId, alloc, false)
|
||||
{
|
||||
|
||||
@ -116,6 +116,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Panasonic tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Panasonic %MakerNote tags
|
||||
|
||||
@ -89,6 +89,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownSigmaMakerNoteTag)", "(UnknownSigmaMakerNoteTag)", "Unknown SigmaMakerNote tag", sigmaIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* SigmaMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
SigmaMakerNote::SigmaMakerNote(bool alloc)
|
||||
: IfdMakerNote(sigmaIfdId, alloc)
|
||||
{
|
||||
|
||||
@ -115,6 +115,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Sigma tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @name Print functions for Sigma (Foveon) %MakerNote tags
|
||||
|
||||
@ -71,6 +71,11 @@ namespace Exiv2 {
|
||||
TagInfo(0xffff, "(UnknownSonyMakerNoteTag)", "Unknown SonyMakerNote tag", "Unknown SonyMakerNote tag", sonyIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* SonyMakerNote::tagList()
|
||||
{
|
||||
return tagInfo_;
|
||||
}
|
||||
|
||||
SonyMakerNote::SonyMakerNote(bool alloc)
|
||||
: IfdMakerNote(sonyIfdId, alloc, false)
|
||||
{
|
||||
|
||||
@ -113,6 +113,8 @@ namespace Exiv2 {
|
||||
int checkHeader() const;
|
||||
AutoPtr create(bool alloc =true) const;
|
||||
AutoPtr clone() const;
|
||||
//! Return read-only list of built-in Sony tags
|
||||
static const TagInfo* tagList();
|
||||
//@}
|
||||
|
||||
//! @cond IGNORE
|
||||
|
||||
20
src/tags.cpp
20
src/tags.cpp
@ -463,6 +463,11 @@ namespace Exiv2 {
|
||||
"Unknown IFD tag", ifdIdNotSet, sectionIdNotSet, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* ExifTags::ifdTagList()
|
||||
{
|
||||
return ifdTagInfo;
|
||||
}
|
||||
|
||||
//! ExposureProgram, tag 0x8822
|
||||
extern const TagDetails exifExposureProgram[] = {
|
||||
{ 0, "Not defined" },
|
||||
@ -900,6 +905,11 @@ namespace Exiv2 {
|
||||
"Unknown Exif tag", ifdIdNotSet, sectionIdNotSet, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* ExifTags::exifTagList()
|
||||
{
|
||||
return exifTagInfo;
|
||||
}
|
||||
|
||||
//! GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013
|
||||
extern const TagDetails exifGPSLatitudeRef[] = {
|
||||
{ 78, "North" },
|
||||
@ -1074,6 +1084,11 @@ namespace Exiv2 {
|
||||
"Unknown GPSInfo tag", ifdIdNotSet, sectionIdNotSet, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* ExifTags::gpsTagList()
|
||||
{
|
||||
return gpsTagInfo;
|
||||
}
|
||||
|
||||
// Exif Interoperability IFD Tags
|
||||
static const TagInfo iopTagInfo[] = {
|
||||
TagInfo(0x0001, "InteroperabilityIndex", "InteroperabilityIndex",
|
||||
@ -1100,6 +1115,11 @@ namespace Exiv2 {
|
||||
"Unknown Exif Interoperability tag", ifdIdNotSet, sectionIdNotSet, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
const TagInfo* ExifTags::iopTagList()
|
||||
{
|
||||
return iopTagInfo;
|
||||
}
|
||||
|
||||
// Unknown Tag
|
||||
static const TagInfo unknownTag(0xffff, "Unknown tag", "Unknown tag",
|
||||
"Unknown tag", ifdIdNotSet, sectionIdNotSet, asciiString, printValue);
|
||||
|
||||
@ -272,6 +272,14 @@ namespace Exiv2 {
|
||||
uint16_t tag,
|
||||
IfdId ifdId,
|
||||
const Value& value);
|
||||
//! Return read-only list of built-in IFD0/1 tags
|
||||
static const TagInfo* ifdTagList();
|
||||
//! Return read-only list of built-in Exif IFD tags
|
||||
static const TagInfo* exifTagList();
|
||||
//! Return read-only list of built-in IOP tags
|
||||
static const TagInfo* iopTagList();
|
||||
//! Return read-only list of built-in GPS tags
|
||||
static const TagInfo* gpsTagList();
|
||||
//! Print a list of all standard Exif tags to output stream
|
||||
static void taglist(std::ostream& os);
|
||||
//! Print a list of all tags related to one makernote %IfdId
|
||||
|
||||
Loading…
Reference in New Issue
Block a user