Exiv2::XmpParser Class Reference

Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets. The parser uses the XMP toolkit to do the job. More...

#include <xmp.hpp>

List of all members.

Public Types

enum  XmpFormatFlags {
  omitPacketWrapper = 0x0010UL, readOnlyPacket = 0x0020UL, useCompactFormat = 0x0040UL, includeThumbnailPad = 0x0100UL,
  exactPacketLength = 0x0200UL, writeAliasComments = 0x0400UL, omitAllFormatting = 0x0800UL
}
 Options to control the format of the serialized XMP packet. More...

Static Public Member Functions

int decode (XmpData &xmpData, const std::string &xmpPacket)
 Decode XMP metadata from an XMP packet xmpPacket into xmpData. The format of the XMP packet must follow the XMP specification. This method clears any previous contents of xmpData.
int encode (std::string &xmpPacket, const XmpData &xmpData, uint16_t formatFlags=useCompactFormat, uint32_t padding=0)
 Encode (serialize) XMP metadata from xmpData into a string xmpPacket. The XMP packet returned in the string follows the XMP specification. This method only modifies xmpPacket if the operations succeeds (return code 0).
bool initialize ()
 Initialize the XMP Toolkit.
void terminate ()
 Terminate the XMP Toolkit and unregister custom namespaces.

Friends

void XmpProperties::registerNs (const std::string &, const std::string &)
void XmpProperties::unregisterNs (const std::string &)


Detailed Description

Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets. The parser uses the XMP toolkit to do the job.


Member Enumeration Documentation

enum Exiv2::XmpParser::XmpFormatFlags
 

Options to control the format of the serialized XMP packet.

Enumeration values:
omitPacketWrapper  Omit the XML packet wrapper.
readOnlyPacket  Default is a writeable packet.
useCompactFormat  Use a compact form of RDF.
includeThumbnailPad  Include a padding allowance for a thumbnail image.
exactPacketLength  The padding parameter is the overall packet length.
writeAliasComments  Show aliases as XML comments.
omitAllFormatting  Omit all formatting whitespace.


Member Function Documentation

int Exiv2::XmpParser::decode XmpData xmpData,
const std::string &  xmpPacket
[static]
 

Decode XMP metadata from an XMP packet xmpPacket into xmpData. The format of the XMP packet must follow the XMP specification. This method clears any previous contents of xmpData.

Parameters:
xmpData Container for the decoded XMP properties
xmpPacket The raw XMP packet to decode
Returns:
0 if successful;
1 if XMP support has not been compiled-in;
2 if the XMP toolkit failed to initialize;
3 if the XMP toolkit failed and raised an XMP_Error

int Exiv2::XmpParser::encode std::string &  xmpPacket,
const XmpData xmpData,
uint16_t  formatFlags = useCompactFormat,
uint32_t  padding = 0
[static]
 

Encode (serialize) XMP metadata from xmpData into a string xmpPacket. The XMP packet returned in the string follows the XMP specification. This method only modifies xmpPacket if the operations succeeds (return code 0).

Parameters:
xmpPacket Reference to a string to hold the encoded XMP packet.
xmpData XMP properties to encode.
formatFlags Flags that control the format of the XMP packet, see enum XmpFormatFlags.
padding Padding length.
Returns:
0 if successful;
1 if XMP support has not been compiled-in;
2 if the XMP toolkit failed to initialize;
3 if the XMP toolkit failed and raised an XMP_Error
Examples:
xmpsample.cpp.

bool Exiv2::XmpParser::initialize  )  [static]
 

Initialize the XMP Toolkit.

Calling this method is usually not needed, as encode() and decode() will initialize the XMP Toolkit if necessary.

Returns:
True if the initialization was successful, else false.

void Exiv2::XmpParser::terminate  )  [static]
 

Terminate the XMP Toolkit and unregister custom namespaces.

Call this method when the XmpParser is no longer needed to allow the XMP Toolkit to cleanly shutdown.

Examples:
xmpsample.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Dec 31 03:58:14 2009 for Exiv2 by  doxygen 1.3.9.1