[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:41:53 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=3241738
The following commit has been merged in the master branch:
commit 32417382e309af747a441874299a567de9db1a52
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Wed Aug 18 15:38:29 2010 +0000
#719: Added ExifTags::groupList() to access the list of all Exif groups.
---
src/tags.cpp | 29 +++++++++++++++++------------
src/tags.hpp | 10 ++++++----
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/src/tags.cpp b/src/tags.cpp
index 8b740cb..b088d26 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -2326,24 +2326,24 @@ namespace Exiv2 {
using namespace Internal;
//! @cond IGNORE
- IfdInfo::Item::Item(const std::string& item)
+ GroupInfo::Item::Item(const std::string& item)
{
i_ = item;
}
//! @endcond
- bool IfdInfo::operator==(IfdId ifdId) const
+ bool GroupInfo::operator==(IfdId ifdId) const
{
return ifdId_ == ifdId;
}
- bool IfdInfo::operator==(const Item& item) const
+ bool GroupInfo::operator==(const Item& item) const
{
return 0 == strcmp(item.i_.c_str(), item_);
}
// Important: IFD item must be unique!
- const IfdInfo ExifTags::ifdInfo_[] = {
+ const GroupInfo ExifTags::groupInfo_[] = {
{ ifdIdNotSet, "(Unknown IFD)", "(Unknown item)", 0 },
{ ifd0Id, "IFD0", "Image", ExifTags::ifdTagList },
{ exifIfdId, "Exif", "Photo", ExifTags::exifTagList }, // just to avoid 'Exif.Exif.*' keys
@@ -2506,16 +2506,21 @@ namespace Exiv2 {
return mnTagInfo;
}
+ const GroupInfo* ExifTags::groupList()
+ {
+ return groupInfo_ + 1; // +1 to skip the first (ifdIdNotSet) entry
+ }
+
const TagInfo* ExifTags::tagList(const std::string& group)
{
- const IfdInfo* ii = find(ifdInfo_, IfdInfo::Item(group));
+ const GroupInfo* ii = find(groupInfo_, GroupInfo::Item(group));
if (ii == 0 || ii->tagList_ == 0) return 0;
return ii->tagList_();
} // ExifTags::tagList
const TagInfo* ExifTags::tagList(IfdId ifdId)
{
- const IfdInfo* ii = find(ifdInfo_, ifdId);
+ const GroupInfo* ii = find(groupInfo_, ifdId);
if (ii == 0 || ii->tagList_ == 0) return 0;
return ii->tagList_();
} // ExifTags::tagList
@@ -2547,7 +2552,7 @@ namespace Exiv2 {
bool ExifTags::isMakerIfd(IfdId ifdId)
{
bool rc = false;
- const IfdInfo* ii = find(ifdInfo_, ifdId);
+ const GroupInfo* ii = find(groupInfo_, ifdId);
if (ii != 0 && 0 == strcmp(ii->name_, "Makernote")) {
rc = true;
}
@@ -2630,7 +2635,7 @@ namespace Exiv2 {
IfdId ExifTags::ifdIdByIfdItem(const std::string& ifdItem)
{
IfdId ifdId = ifdIdNotSet;
- const IfdInfo* ii = find(ifdInfo_, IfdInfo::Item(ifdItem));
+ const GroupInfo* ii = find(groupInfo_, GroupInfo::Item(ifdItem));
if (ii != 0) ifdId = ii->ifdId_;
return ifdId;
}
@@ -2651,15 +2656,15 @@ namespace Exiv2 {
const char* ExifTags::ifdName(IfdId ifdId)
{
- const IfdInfo* ii = find(ifdInfo_, ifdId);
- if (ii == 0) return ifdInfo_[0].name_;
+ const GroupInfo* ii = find(groupInfo_, ifdId);
+ if (ii == 0) return groupInfo_[0].name_;
return ii->name_;
} // ExifTags::ifdName
const char* ExifTags::ifdItem(IfdId ifdId)
{
- const IfdInfo* ii = find(ifdInfo_, ifdId);
- if (ii == 0) return ifdInfo_[0].item_;
+ const GroupInfo* ii = find(groupInfo_, ifdId);
+ if (ii == 0) return groupInfo_[0].item_;
return ii->item_;
} // ExifTags::ifdItem
diff --git a/src/tags.hpp b/src/tags.hpp
index 1d4539d..3f44a65 100644
--- a/src/tags.hpp
+++ b/src/tags.hpp
@@ -72,7 +72,7 @@ namespace Exiv2 {
// class definitions
//! The details of an IFD.
- struct EXIV2API IfdInfo {
+ struct EXIV2API GroupInfo {
struct Item;
bool operator==(IfdId ifdId) const; //!< Comparison operator for IFD id
bool operator==(const Item& item) const; //!< Comparison operator for IFD item
@@ -82,8 +82,8 @@ namespace Exiv2 {
TagListFct tagList_; //!< Tag list
};
- //! Search key to find an IfdInfo by its IFD item.
- struct EXIV2API IfdInfo::Item {
+ //! Search key to find a GroupInfo by its IFD item.
+ struct EXIV2API GroupInfo::Item {
Item(const std::string& item); //!< Constructor
std::string i_; //!< IFD item
};
@@ -209,6 +209,8 @@ namespace Exiv2 {
IfdId ifdId,
const Value& value,
const ExifData* pExifData =0);
+ //! Return read-only list of build-in groups
+ static const GroupInfo* groupList();
//! Return read-only list of built-in \em group tags.
static const TagInfo* tagList(const std::string& group);
//! Return read-only list of built-in IFD0/1 tags
@@ -244,7 +246,7 @@ namespace Exiv2 {
static const TagInfo* tagInfo(uint16_t tag, IfdId ifdId);
static const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId);
- static const IfdInfo ifdInfo_[]; //!< All Exif and Makernote tag lists
+ static const GroupInfo groupInfo_[]; //!< All Exif and Makernote tag lists
static const SectionInfo sectionInfo_[]; //!< Exif (and one common Makernote) sections
}; // class ExifTags
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list