Loading...
Searching...
No Matches
Exiv2::XmpProperties Class Reference

XMP property reference, implemented as a static class. More...

`#include <properties.hpp>`

## Public Types

typedef std::map< std::string, XmpNsInfo > | NsRegistry
| Type for the namespace registry.

## Static Public Member Functions

static const char * | propertyTitle (const XmpKey &key)
| Return the title (label) of the property.
static const char * | propertyDesc (const XmpKey &key)
| Return the description of the property.
static TypeId | propertyType (const XmpKey &key)
| Return the type for property key. The default for unknown keys is xmpText.
static const XmpPropertyInfo * | propertyInfo (const XmpKey &key)
| Return information for the property for key.
static std::string | ns (const std::string &prefix)
| Return the namespace name for the schema associated with prefix.
static const char * | nsDesc (const std::string &prefix)
| Return the namespace description for the schema associated with prefix.
static const XmpPropertyInfo * | propertyList (const std::string &prefix)
| Return read-only list of built-in properties for prefix.
static const XmpNsInfo * | nsInfo (const std::string &prefix)
| Return information about a schema namespace for prefix. Always returns a valid pointer.
static std::string | prefix (const std::string &ns)
| Return the (preferred) prefix for schema namespace ns.
static void | printProperties (std::ostream &os, const std::string &prefix)
| Print a list of properties of a schema namespace to output stream os.
static std::ostream & | printProperty (std::ostream &os, const std::string &key, const Value &value)
| Interpret and print the value of an XMP property.
static void | registerNs (const std::string &ns, const std::string &prefix)
| Register namespace ns with preferred prefix prefix.
static void | unregisterNs (const std::string &ns)
| Unregister a custom namespace ns.
static void | unregisterNs ()
| Unregister all custom namespaces.
static const XmpNsInfo * | lookupNsRegistry (const XmpNsInfo::Prefix &prefix)
| Get the registered namespace for a specific prefix from the registry.
static void | registeredNamespaces (Exiv2::Dictionary &nsDict)
| Get all registered namespaces (for both Exiv2 and XMPsdk)

## Static Public Attributes

static Exiv2::RWLock | rwLock_
| lock to be used while modifying properties
static NsRegistry | nsRegistry_
| Namespace registry.

## Detailed Description

XMP property reference, implemented as a static class.

## Member Function Documentation

## ns()

static std::string Exiv2::XmpProperties::ns | ( | const std::string & | prefix | ) |

static

Return the namespace name for the schema associated with prefix.

Parameters

  prefix | Prefix

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

  prefix | Prefix

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

  prefix | The prefix

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

  ns | Schema namespace

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

  key | The property key

Returns
  The description of the property, 0 if the key is of an unknown property.

## propertyInfo()

static const XmpPropertyInfo * Exiv2::XmpProperties::propertyInfo | ( | const XmpKey & | key | ) |

static

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

  key | The property key

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

  prefix | Prefix

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

  key | The property key

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

  key | The property key

Returns
  The type of the property

Referenced by Exiv2::Xmpdatum::setValue().

## 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.

Referenced by Params::getopt(), and Exiv2::XmpParser::terminate().

## 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.

The documentation for this class was generated from the following file:

- properties.hpp