20 #ifndef PROPERTIES_HPP_ 21 #define PROPERTIES_HPP_ 24 #include "exiv2lib_export.h" 47 bool operator==(
const std::string& name)
const;
62 explicit Prefix(
const std::string& prefix);
69 explicit Ns(
const std::string& ns);
94 static const XmpNsInfo* nsInfoUnsafe(
const std::string& prefix);
95 static void unregisterNsUnsafe(
const std::string& ns);
105 static const char* propertyTitle(
const XmpKey& key);
112 static const char* propertyDesc(
const XmpKey& key);
139 static std::string ns(
const std::string& prefix);
147 static const char* nsDesc(
const std::string& prefix);
163 static const XmpNsInfo* nsInfo(
const std::string& prefix);
171 static std::string prefix(
const std::string& ns);
173 static void printProperties(std::ostream& os,
const std::string& prefix);
176 static std::ostream& printProperty(std::ostream& os,
177 const std::string& key,
187 static void registerNs(
const std::string& ns,
const std::string& prefix);
196 static void unregisterNs(
const std::string& ns);
209 static void unregisterNs();
246 explicit XmpKey(
const std::string& key);
256 XmpKey(
const std::string& prefix,
const std::string& property);
271 virtual std::string key()
const;
272 virtual const char* familyName()
const;
278 virtual std::string tagName()
const;
279 virtual std::string tagLabel()
const;
281 virtual uint16_t tag()
const;
287 std::string ns()
const;
292 virtual XmpKey* clone_()
const;
297 std::auto_ptr<Impl> p_;
309 #endif // #ifndef PROPERTIES_HPP_ bool operator==(const TagDetails &td, const LensTypeAndFocalLengthAndMaxAperture <fl)
Compare tag details with a lens entry.
Definition: canonmn_int.cpp:2820
const char * name_
Property name.
Definition: properties.hpp:49
std::string prefix_
The prefix string.
Definition: properties.hpp:64
std::map< std::string, std::string > Dictionary
typedef for string:string map
Definition: datasets.hpp:364
TypeId
Exiv2 value type identifiers.
Definition: types.hpp:119
const char * ns_
Namespace.
Definition: properties.hpp:78
std::auto_ptr< XmpKey > AutoPtr
Shortcut for an XmpKey auto pointer.
Definition: properties.hpp:234
For comparison with prefix.
Definition: properties.hpp:60
const char * xmpValueType_
XMP value type (for info only)
Definition: properties.hpp:51
const char * title_
Property title or label.
Definition: properties.hpp:50
Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata...
Definition: metadatum.hpp:44
static Exiv2::RWLock rwLock_
lock to be used while modifying properties
Definition: properties.hpp:199
std::string ns_
The namespace string.
Definition: properties.hpp:71
Structure mapping XMP namespaces and (preferred) prefixes.
Definition: properties.hpp:58
static NsRegistry nsRegistry_
Namespace registry.
Definition: properties.hpp:218
XMP property reference, implemented as a static class.
Definition: properties.hpp:85
std::map< std::string, XmpNsInfo > NsRegistry
Type for the namespace registry.
Definition: properties.hpp:211
IPTC dataset and type information.
Concrete keys for XMP metadata.
Definition: properties.hpp:230
const XmpPropertyInfo * xmpPropertyInfo_
List of known properties.
Definition: properties.hpp:80
XmpCategory
Category of an XMP property.
Definition: properties.hpp:42
Class to provide a Read-Write Lock.
Definition: rwlock.hpp:89
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags_int.cpp:2534
XmpCategory xmpCategory_
Category (internal or external)
Definition: properties.hpp:53
Information about one XMP property.
Definition: properties.hpp:45
Common interface for all types of values used with metadata.
Definition: value.hpp:51
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
EXIV2API std::ostream & operator<<(std::ostream &os, const DataSet &dataSet)
Output operator for dataSet.
Definition: datasets.cpp:709
const char * prefix_
(Preferred) prefix
Definition: properties.hpp:79
const char * desc_
Brief description of the namespace.
Definition: properties.hpp:81
TypeId typeId_
Exiv2 default type for the property.
Definition: properties.hpp:52
const char * desc_
Property description.
Definition: properties.hpp:54
std::auto_ptr< Key > AutoPtr
Shortcut for a Key auto pointer.
Definition: metadatum.hpp:47
For comparison with namespace.
Definition: properties.hpp:67