XMP property reference, implemented as a static class.
More...
#include <properties.hpp>
XMP property reference, implemented as a static class.
◆ ns()
static std::string Exiv2::XmpProperties::ns |
( |
const std::string & |
prefix | ) |
|
|
static |
Return the namespace name for the schema associated with prefix.
- Parameters
-
- Returns
- The namespace name
- Exceptions
-
Error | if no namespace is registered with prefix. |
◆ nsDesc()
static const char* Exiv2::XmpProperties::nsDesc |
( |
const std::string & |
prefix | ) |
|
|
static |
Return the namespace description for the schema associated with prefix.
- Parameters
-
- Returns
- The namespace description
- Exceptions
-
Error | if no namespace is registered with prefix. |
◆ nsInfo()
static const XmpNsInfo* Exiv2::XmpProperties::nsInfo |
( |
const std::string & |
prefix | ) |
|
|
static |
Return information about a schema namespace for prefix. Always returns a valid pointer.
- Parameters
-
- Returns
- A pointer to the related information
- Exceptions
-
Error | if no namespace is registered with prefix. |
◆ prefix()
static std::string Exiv2::XmpProperties::prefix |
( |
const std::string & |
ns | ) |
|
|
static |
Return the (preferred) prefix for schema namespace ns.
- Parameters
-
- Returns
- The prefix or an empty string if namespace ns is not registered.
◆ propertyDesc()
static const char* Exiv2::XmpProperties::propertyDesc |
( |
const XmpKey & |
key | ) |
|
|
static |
Return the description of the property.
- Parameters
-
- Returns
- The description of the property, 0 if the key is of an unknown property.
◆ propertyInfo()
Return information for the property for key.
If the key is a path to a nested property (one which contains a slash, like Xmp.MP.RegionInfo/MPRI
:Regions), determines the innermost element (Xmp.MPRI.Regions
) and returns its property information.
- Parameters
-
- Returns
- A pointer to the property information, 0 if the key is of an unknown property.
◆ propertyList()
static const XmpPropertyInfo* Exiv2::XmpProperties::propertyList |
( |
const std::string & |
prefix | ) |
|
|
static |
Return read-only list of built-in properties for prefix.
- Parameters
-
- Returns
- Pointer to the built-in properties for prefix, may be 0 if none is configured in the namespace info.
- Exceptions
-
Error | if no namespace is registered with prefix. |
◆ propertyTitle()
static const char* Exiv2::XmpProperties::propertyTitle |
( |
const XmpKey & |
key | ) |
|
|
static |
Return the title (label) of the property.
- Parameters
-
- Returns
- The title (label) of the property, 0 if the key is of an unknown property.
◆ propertyType()
static TypeId Exiv2::XmpProperties::propertyType |
( |
const XmpKey & |
key | ) |
|
|
static |
Return the type for property key. The default for unknown keys is xmpText.
- Parameters
-
- Returns
- The type of the property
◆ registerNs()
static void Exiv2::XmpProperties::registerNs |
( |
const std::string & |
ns, |
|
|
const std::string & |
prefix |
|
) |
| |
|
static |
Register namespace ns with preferred prefix prefix.
If the prefix is a known or previously registered prefix, the corresponding namespace URI is overwritten.
- Note
- This invalidates XMP keys generated with the previous prefix.
- Examples
- xmpsample.cpp.
◆ unregisterNs() [1/2]
static void Exiv2::XmpProperties::unregisterNs |
( |
| ) |
|
|
static |
Unregister all custom namespaces.
The function only unregisters namespaces registered earlier, it does not unregister built-in namespaces.
- Note
- This invalidates XMP keys generated in any custom namespace.
◆ unregisterNs() [2/2]
static void Exiv2::XmpProperties::unregisterNs |
( |
const std::string & |
ns | ) |
|
|
static |
Unregister a custom namespace ns.
The function only has an effect if there is a namespace ns registered earlier, it does not unregister built-in namespaces.
- Note
- This invalidates XMP keys generated in this namespace.
◆ mutex_
std::mutex Exiv2::XmpProperties::mutex_ |
|
static |
Lock to be used while modifying properties.
- Todo:
- For a proper read-write lock, this shall be improved by a std::shared_timed_mutex (once C++14 is allowed) or std::shared_mutex (once C++17 is allowed). The read-access locks shall be updated to std::shared_lock then.
The documentation for this class was generated from the following file: