aboutsummaryrefslogtreecommitdiffstats
path: root/src/exiv2wrapper.hpp
diff options
context:
space:
mode:
authorOlivier Tilloy <olivier@tilloy.net>2009-11-04 10:05:25 +0100
committerOlivier Tilloy <olivier@tilloy.net>2009-11-04 10:05:25 +0100
commita40fa3744742d67b87bb5c04d0ad33a426d3f314 (patch)
tree5e166c4b58e4dda5229b4358c4169cc2d3abbd86 /src/exiv2wrapper.hpp
parent0104da13ef883e1e7476b5434fca96135ba5aaed (diff)
downloadpyexiv2-a40fa3744742d67b87bb5c04d0ad33a426d3f314.tar.gz
Preliminary investigation to implement the *Tag classes in C++.
Diffstat (limited to 'src/exiv2wrapper.hpp')
-rw-r--r--src/exiv2wrapper.hpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/exiv2wrapper.hpp b/src/exiv2wrapper.hpp
index 9a728f8..8f593a8 100644
--- a/src/exiv2wrapper.hpp
+++ b/src/exiv2wrapper.hpp
@@ -155,6 +155,73 @@ private:
bool _dataRead;
};
+
+class ExifTag
+{
+public:
+ // Constructor
+ ExifTag(const std::string& key);
+
+ void setValue(const std::string& value);
+
+ const std::string getKey();
+ const std::string getType();
+ const std::string getName();
+ const std::string getTitle();
+ const std::string getLabel();
+ const std::string getDescription();
+ const std::string getSectionName();
+ const std::string getSectionDescription();
+ const std::string getValue();
+
+private:
+ Exiv2::ExifKey _key;
+ Exiv2::Exifdatum _datum;
+ std::string _type;
+ std::string _name;
+ std::string _title;
+ std::string _label;
+ std::string _description;
+ std::string _sectionName;
+ std::string _sectionDescription;
+ std::string _value;
+};
+
+
+class IptcTag
+{
+public:
+ // Constructor
+ IptcTag(const std::string& key);
+
+ void setValue(const std::string& value);
+
+ const std::string getKey();
+ const std::string getType();
+ const std::string getName();
+ const std::string getTitle();
+ const std::string getDescription();
+ const std::string getPhotoshopName();
+ const bool isRepeatable();
+ const std::string getRecordName();
+ const std::string getRecordDescription();
+ const std::string getValue();
+
+private:
+ Exiv2::IptcKey _key;
+ Exiv2::Iptcdatum _datum;
+ std::string _type;
+ std::string _name;
+ std::string _title;
+ std::string _description;
+ std::string _photoshopName;
+ bool _repeatable;
+ std::string _recordName;
+ std::string _recordDescription;
+ std::string _value;
+};
+
+
// Translate an Exiv2 generic exception into a Python exception
void translateExiv2Error(Exiv2::Error const& error);