@ -112,6 +112,10 @@ namespace Exiv2 {
ExifTags& operator=(const ExifTags& rhs);
public:
//! Return read-only list of built-in groups
static const GroupInfo* groupList();
//! Return read-only list of built-in \em groupName tags.
static const TagInfo* tagList(const std::string& groupName);
//! Print a list of all standard Exif tags to output stream
static void taglist(std::ostream& os);
//! Print the list of tags for \em groupName
@ -178,6 +178,16 @@ namespace Exiv2 {
return Internal::isExifIfd(ifdId);
}
const GroupInfo *ExifTags::groupList()
{
return Internal::groupList();
const TagInfo *ExifTags::tagList(const std::string &groupName)
return Internal::tagList(groupName);
void ExifTags::taglist(std::ostream& os)
const TagInfo* ifd = ifdTagList();
@ -2870,4 +2870,19 @@ namespace Exiv2 {
return os << stringValue;
const GroupInfo *groupList()
return groupInfo + 1;
const TagInfo* tagList(const std::string& groupName)
const GroupInfo* ii = find(groupInfo, GroupInfo::GroupName(groupName));
if (ii == 0 || ii->tagList_ == 0) {
return 0;
return ii->tagList_();
} }
@ -307,6 +307,9 @@ namespace Exiv2 {
//! Return read-only list of built-in mfp Tags http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/MPF.html
const TagInfo* mpfTagList();
const GroupInfo* groupList();
const TagInfo* tagList(const std::string& groupName);
//! Return the group id for a group name
IfdId groupId(const std::string& groupName);
//! Return the name of the IFD