XMP_Const.h File Reference

Common C/C++ types and constants for the XMP toolkit. More...

#include "XMP_Environment.h"
#include <stddef.h>
#include <vector>
Include dependency graph for XMP_Const.h:

Go to the source code of this file.

Classes

struct  XMP_DateTime
 The expanded type for a date and time. More...
struct  XMP_PacketInfo
 XMP packet description. More...
class  XMP_Error
 XMP Toolkit error, associates an error code with a descriptive error string. More...
struct  XMP_VersionInfo
 XMP Toolkit version information. More...

Defines

#define kXMP_NS_TIFF   "http://ns.adobe.com/tiff/1.0/"
 The XML namespace for Adobe's TIFF schema.
#define kXMP_NS_XMP_ST_Job   "http://ns.adobe.com/xap/1.0/sType/Job#"
 The XML namespace for fields of the JobRef type.
#define kXMP_NS_XML   "http://www.w3.org/XML/1998/namespace"
 The XML namespace for XML.
#define kXMP_NoOptions   ((XMP_OptionBits)0UL)
 Options macro clears all property-type bits.
#define XMP_OptionIsClear(var, opt)   (((var) & (opt)) == 0)
 Macro reports whether an option flag bit is clear.
#define XMP_PropIsAlias(opt)   (((opt) & kXMP_PropIsAlias) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_CharFromSerializeForm(sf)   ( (XMP_Uns8)(sf) )
 Macro converts XMP_OptionBits to XMP_Uns8.
#define kXMPFiles_UnknownOffset   ((XMP_Int64)-1)
 Constant for an unknown packet offset within a file.
#define kXMPFiles_UnknownLength   ((XMP_Int32)-1)
 Constant for an unknown packet length within a file.
XML namespace constants for standard XMP schema.

#define kXMP_NS_XMP   "http://ns.adobe.com/xap/1.0/"
 The XML namespace for the XMP "basic" schema.
#define kXMP_NS_XMP_Rights   "http://ns.adobe.com/xap/1.0/rights/"
 The XML namespace for the XMP copyright schema.
#define kXMP_NS_XMP_MM   "http://ns.adobe.com/xap/1.0/mm/"
 The XML namespace for the XMP digital asset management schema.
#define kXMP_NS_XMP_BJ   "http://ns.adobe.com/xap/1.0/bj/"
 The XML namespace for the job management schema.
#define kXMP_NS_PDF   "http://ns.adobe.com/pdf/1.3/"
 The XML namespace for the PDF schema.
#define kXMP_NS_Photoshop   "http://ns.adobe.com/photoshop/1.0/"
 The XML namespace for the Photoshop custom schema.
#define kXMP_NS_EXIF   "http://ns.adobe.com/exif/1.0/"
 The XML namespace for Adobe's EXIF schema.
#define kXMP_NS_XMP_T   "http://ns.adobe.com/xap/1.0/t/"
 The XML namespace for the XMP text document schema.
#define kXMP_NS_XMP_T_PG   "http://ns.adobe.com/xap/1.0/t/pg/"
 The XML namespace for the XMP paged document schema.
XML namespace constants for qualifiers and structured property fields.

#define kXMP_NS_XMP_IdentifierQual   "http://ns.adobe.com/xmp/Identifier/qual/1.0/"
 The XML namespace for qualifiers of the xmp:Identifier property.
#define kXMP_NS_XMP_Dimensions   "http://ns.adobe.com/xap/1.0/sType/Dimensions#"
 The XML namespace for fields of the Dimensions type.
#define kXMP_NS_XMP_Image   "http://ns.adobe.com/xap/1.0/g/img/"
 The XML namespace for fields of a graphical image. Used for the Thumbnail type.
#define kXMP_NS_XMP_ResourceEvent   "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
 The XML namespace for fields of the ResourceEvent type.
#define kXMP_NS_XMP_ResourceRef   "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
 The XML namespace for fields of the ResourceRef type.
#define kXMP_NS_XMP_ST_Version   "http://ns.adobe.com/xap/1.0/sType/Version#"
 The XML namespace for fields of the Version type.
XML namespace constants from outside Adobe.

#define kXMP_NS_DC   "http://purl.org/dc/elements/1.1/"
 The XML namespace for the Dublin Core schema.
#define kXMP_NS_IPTCCore   "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
 The XML namespace for the IPTC Core schema.
#define kXMP_NS_IPTCExt   "http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
 The XML namespace for the IPTC Extension schema.
#define kXMP_NS_RDF   "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 The XML namespace for RDF.
Macros for standard option selections.

#define kXMP_ArrayLastItem   ((XMP_Index)(-1L))
 Options macro accesses last array item.
#define kXMP_UseNullTermination   ((XMP_StringLen)(~0UL))
 Options macro sets string style.
Macros for setting and testing general option bits.

#define XMP_SetOption(var, opt)   var |= (opt)
 Macro sets an option flag bit.
#define XMP_ClearOption(var, opt)   var &= ~(opt)
 Macro clears an option flag bit.
#define XMP_TestOption(var, opt)   (((var) & (opt)) != 0)
 Macro reports whether an option flag bit is set.
#define XMP_OptionIsSet(var, opt)   (((var) & (opt)) != 0)
 Macro reports whether an option flag bit is set.
Macros for setting and testing specific option bits.

#define XMP_PropIsSimple(opt)   (((opt) & kXMP_PropCompositeMask) == 0)
 Macro reports the property type specified by an options flag.
#define XMP_PropIsStruct(opt)   (((opt) & kXMP_PropValueIsStruct) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_PropIsArray(opt)   (((opt) & kXMP_PropValueIsArray) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_ArrayIsUnordered(opt)   (((opt) & kXMP_PropArrayIsOrdered) == 0)
 Macro reports the property type specified by an options flag.
#define XMP_ArrayIsOrdered(opt)   (((opt) & kXMP_PropArrayIsOrdered) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_ArrayIsAlternate(opt)   (((opt) & kXMP_PropArrayIsAlternate) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_ArrayIsAltText(opt)   (((opt) & kXMP_PropArrayIsAltText) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_PropHasQualifiers(opt)   (((opt) & kXMP_PropHasQualifiers) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_PropIsQualifier(opt)   (((opt) & kXMP_PropIsQualifier) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_PropHasLang(opt)   (((opt) & kXMP_PropHasLang) != 0)
 Macro reports the property type specified by an options flag.
#define XMP_NodeIsSchema(opt)   (((opt) & kXMP_SchemaNode) != 0)
 Macro reports the property type specified by an options flag.
Macros to test components of the character form mask

#define XMP_CharFormIs16Bit(f)   ( ((int)(f) & kXMP_Char16BitMask) != 0 )
 Macro reports the encoding of a character.
#define XMP_CharFormIs32Bit(f)   ( ((int)(f) & kXMP_Char32BitMask) != 0 )
 Macro reports the encoding of a character.
#define XMP_CharFormIsBigEndian(f)   ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 )
 Macro reports the byte-order of a character.
#define XMP_CharFormIsLittleEndian(f)   ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 )
 Macro reports the byte-order of a character.
#define XMP_GetCharSize(f)   ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 )
 Macro reports the byte-size of a character.
#define XMP_CharToSerializeForm(cf)   ( (XMP_OptionBits)(cf) )
 Macro converts XMP_Uns8 to XMP_OptionBits.

Typedefs

typedef struct __XMPMeta__ * XMPMetaRef
typedef struct __XMPIterator__ * XMPIteratorRef
typedef struct __XMPDocOps__ * XMPDocOpsRef
typedef struct __XMPFiles__ * XMPFilesRef
typedef XMP_Uns32 XMP_FileFormat
 Type for file format identification constants. See kXMP_PDFFile and following.
typedef struct XMP_VersionInfo XMP_VersionInfo
 XMP Toolkit version information.
Special purpose callback functions

typedef XMP_Int32 XMP_Status
typedef XMP_Status(* XMP_TextOutputProc )(void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)
typedef bool(* XMP_AbortProc )(void *arg)
typedef bool(* XMP_ProgressReportProc )(void *context, float elapsedTime, float fractionDone, float secondsToGo)
typedef XMP_Bool(* XMP_ProgressReportWrapper )(XMP_ProgressReportProc proc, void *context, float elapsedTime, float fractionDone, float secondsToGo)
 Internal: The signature of a client-side wrapper for the progress report callback.

Enumerations

enum  {
  kXMP_TimeWestOfUTC = -1,
  kXMP_TimeIsUTC = 0,
  kXMP_TimeEastOfUTC = +1
}
 

Constant values for XMP_DateTime::tzSign field.

More...
enum  {
  kXMP_PropValueIsURI = 0x00000002UL,
  kXMP_PropHasQualifiers = 0x00000010UL,
  kXMP_PropIsQualifier = 0x00000020UL,
  kXMP_PropHasLang = 0x00000040UL,
  kXMP_PropHasType = 0x00000080UL,
  kXMP_PropValueIsStruct = 0x00000100UL,
  kXMP_PropValueIsArray = 0x00000200UL,
  kXMP_PropArrayIsUnordered = kXMP_PropValueIsArray,
  kXMP_PropArrayIsOrdered = 0x00000400UL,
  kXMP_PropArrayIsAlternate = 0x00000800UL,
  kXMP_PropArrayIsAltText = 0x00001000UL,
  kXMP_PropIsAlias = 0x00010000UL,
  kXMP_PropHasAliases = 0x00020000UL,
  kXMP_PropIsInternal = 0x00040000UL,
  kXMP_PropIsStable = 0x00100000UL,
  kXMP_PropIsDerived = 0x00200000UL,
  kXMP_PropArrayFormMask = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
  kXMP_PropCompositeMask = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
  kXMP_ImplReservedMask = 0x70000000L
}
 

Option bit flags for the TXMPMeta property accessor functions.

More...
enum  {
  kXMP_InsertBeforeItem = 0x00004000UL,
  kXMP_InsertAfterItem = 0x00008000UL,
  kXMP_DeleteExisting = 0x20000000UL,
  kXMP_PropValueOptionsMask = kXMP_PropValueIsURI,
  kXMP_PropArrayLocationMask = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
}
enum  {
  kXMP_RequireXMPMeta = 0x0001UL,
  kXMP_ParseMoreBuffers = 0x0002UL,
  kXMP_StrictAliasing = 0x0004UL
}
 

Option bit flags for TXMPMeta::ParseFromBuffer().

More...
enum  {
  kXMP_OmitPacketWrapper = 0x0010UL,
  kXMP_ReadOnlyPacket = 0x0020UL,
  kXMP_UseCompactFormat = 0x0040UL,
  kXMP_UseCanonicalFormat = 0x0080UL,
  kXMP_IncludeThumbnailPad = 0x0100UL,
  kXMP_ExactPacketLength = 0x0200UL,
  kXMP_OmitAllFormatting = 0x0800UL,
  kXMP_OmitXMPMetaElement = 0x1000UL ,
  kXMP_EncodingMask = 0x0007UL,
  kXMP_EncodeUTF8 = 0UL,
  kXMP_EncodeUTF16Big = _XMP_UTF16_Bit,
  kXMP_EncodeUTF16Little = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
  kXMP_EncodeUTF32Big = _XMP_UTF32_Bit,
  kXMP_EncodeUTF32Little = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
}
 

Option bit flags for TXMPMeta::SerializeToBuffer().

More...
enum  {
  kXMP_IterClassMask = 0x00FFUL,
  kXMP_IterProperties = 0x0000UL,
  kXMP_IterAliases = 0x0001UL,
  kXMP_IterNamespaces = 0x0002UL,
  kXMP_IterJustChildren = 0x0100UL,
  kXMP_IterJustLeafNodes = 0x0200UL,
  kXMP_IterJustLeafName = 0x0400UL,
  kXMP_IterOmitQualifiers = 0x1000UL
}
 

Option bit flags for TXMPIterator construction.

More...
enum  {
  kXMP_IterSkipSubtree = 0x0001UL,
  kXMP_IterSkipSiblings = 0x0002UL
}
 

Option bit flags for TXMPIterator::Skip().

More...
enum  { kXMPUtil_AllowCommas = 0x10000000UL }
enum  {
  kXMPTemplate_IncludeInternalProperties = 0x0001UL,
  kXMPTemplate_ReplaceExistingProperties = 0x0002UL,
  kXMPTemplate_ReplaceWithDeleteEmpty = 0x0004UL,
  kXMPTemplate_AddNewProperties = 0x0008UL,
  kXMPTemplate_ClearUnnamedProperties = 0x0010UL
}
 

Option bit flags for TXMPUtils::ApplyTemplate().

More...
enum  {
  kXMPUtil_DoAllProperties = 0x0001UL,
  kXMPUtil_ReplaceOldValues = 0x0002UL,
  kXMPUtil_DeleteEmptyValues = 0x0004UL,
  kXMPUtil_IncludeAliases = 0x0800UL
}
 

Option bit flags for TXMPUtils::RemoveProperties() and TXMPUtils::AppendProperties().

More...
enum  SeekMode
 

Seek mode constants for use with XMP_IO and inside XMPFiles library code.


enum  {
  kXMP_PDFFile = 0x50444620UL,
  kXMP_PostScriptFile = 0x50532020UL,
  kXMP_EPSFile = 0x45505320UL,
  kXMP_JPEGFile = 0x4A504547UL,
  kXMP_JPEG2KFile = 0x4A505820UL,
  kXMP_TIFFFile = 0x54494646UL,
  kXMP_GIFFile = 0x47494620UL,
  kXMP_PNGFile = 0x504E4720UL,
  kXMP_SWFFile = 0x53574620UL,
  kXMP_FLAFile = 0x464C4120UL,
  kXMP_FLVFile = 0x464C5620UL,
  kXMP_MOVFile = 0x4D4F5620UL,
  kXMP_AVIFile = 0x41564920UL,
  kXMP_CINFile = 0x43494E20UL,
  kXMP_WAVFile = 0x57415620UL,
  kXMP_MP3File = 0x4D503320UL,
  kXMP_SESFile = 0x53455320UL,
  kXMP_CELFile = 0x43454C20UL,
  kXMP_MPEGFile = 0x4D504547UL,
  kXMP_MPEG2File = 0x4D503220UL,
  kXMP_MPEG4File = 0x4D503420UL,
  kXMP_MXFFile = 0x4D584620UL,
  kXMP_WMAVFile = 0x574D4156UL,
  kXMP_AIFFFile = 0x41494646UL,
  kXMP_REDFile = 0x52454420UL,
  kXMP_P2File = 0x50322020UL,
  kXMP_XDCAM_FAMFile = 0x58444346UL,
  kXMP_XDCAM_SAMFile = 0x58444353UL,
  kXMP_XDCAM_EXFile = 0x58444358UL,
  kXMP_AVCHDFile = 0x41564844UL,
  kXMP_SonyHDVFile = 0x53484456UL,
  kXMP_CanonXFFile = 0x434E5846UL,
  kXMP_HTMLFile = 0x48544D4CUL,
  kXMP_XMLFile = 0x584D4C20UL,
  kXMP_TextFile = 0x74657874UL,
  kXMP_PhotoshopFile = 0x50534420UL,
  kXMP_IllustratorFile = 0x41492020UL,
  kXMP_InDesignFile = 0x494E4444UL,
  kXMP_AEProjectFile = 0x41455020UL,
  kXMP_AEProjTemplateFile = 0x41455420UL,
  kXMP_AEFilterPresetFile = 0x46465820UL,
  kXMP_EncoreProjectFile = 0x4E434F52UL,
  kXMP_PremiereProjectFile = 0x5052504AUL,
  kXMP_PremiereTitleFile = 0x5052544CUL,
  kXMP_UCFFile = 0x55434620UL,
  kXMP_UnknownFile = 0x20202020UL
}
 

File format constants for use with XMPFiles.

More...
enum  
 

Byte-order masks, do not use directly.


enum  {
  kXMP_Char8Bit = 0,
  kXMP_Char16BitBig = kXMP_Char16BitMask,
  kXMP_Char16BitLittle = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
  kXMP_Char32BitBig = kXMP_Char32BitMask,
  kXMP_Char32BitLittle = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
  kXMP_CharUnknown = 1
}
 

Constants to allow easy testing for 16/32 bit and big/little endian.

More...
enum  { kXMP_PacketInfoVersion = 3 }
 

Version of the XMP_PacketInfo type.

More...
enum  {
  kXMPFiles_IgnoreLocalText = 0x0002,
  kXMPFiles_ServerMode = kXMPFiles_IgnoreLocalText
}
 

Option bit flags for TXMPFiles::Initialize().

More...
enum  {
  kXMPFiles_CanInjectXMP = 0x00000001,
  kXMPFiles_CanExpand = 0x00000002,
  kXMPFiles_CanRewrite = 0x00000004,
  kXMPFiles_PrefersInPlace = 0x00000008,
  kXMPFiles_CanReconcile = 0x00000010,
  kXMPFiles_AllowsOnlyXMP = 0x00000020,
  kXMPFiles_ReturnsRawPacket = 0x00000040,
  kXMPFiles_HandlerOwnsFile = 0x00000100,
  kXMPFiles_AllowsSafeUpdate = 0x00000200,
  kXMPFiles_NeedsReadOnlyPacket = 0x00000400,
  kXMPFiles_UsesSidecarXMP = 0x00000800,
  kXMPFiles_FolderBasedFormat = 0x00001000,
  kXMPFiles_CanNotifyProgress = 0x00002000,
  kXMPFiles_NeedsPreloading = 0x00004000
}
 

Option bit flags for TXMPFiles::GetFormatInfo().

More...
enum  {
  kXMPFiles_OpenForRead = 0x00000001,
  kXMPFiles_OpenForUpdate = 0x00000002,
  kXMPFiles_OpenOnlyXMP = 0x00000004,
  kXMPFiles_ForceGivenHandler = 0x00000008,
  kXMPFiles_OpenStrictly = 0x00000010,
  kXMPFiles_OpenUseSmartHandler = 0x00000020,
  kXMPFiles_OpenUsePacketScanning = 0x00000040,
  kXMPFiles_OpenLimitedScanning = 0x00000080,
  kXMPFiles_OpenRepairFile = 0x00000100
}
 

Option bit flags for TXMPFiles::OpenFile().

More...
enum  { kXMPFiles_UpdateSafely = 0x0001 }
 

Option bit flags for TXMPFiles::CloseFile().

More...

General scalar types and constants



#define kXMP_TrueStr   "True"
 The canonical true string value for Booleans in serialized XMP.
#define kXMP_FalseStr   "False"
 The canonical false string value for Booleans in serialized XMP.
enum  {
  kXMPTS_Yes = 1,
  kXMPTS_No = 0,
  kXMPTS_Maybe = -1
}
typedef const char * XMP_StringPtr
 The type for input string parameters. A const char *, a null-terminated UTF-8 string.
typedef XMP_Uns32 XMP_StringLen
 The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed.
typedef XMP_Int32 XMP_Index
 The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination.
typedef XMP_Uns32 XMP_OptionBits
 The type for a collection of 32 flag bits. Individual flags are defined as enum value bit masks; see kXMP_PropValueIsURI and following. A number of macros provide common set or set operations, such as XMP_PropIsSimple. For other tests use an expression like options & kXMP_<theOption>. When passing multiple option flags use the bitwise-OR operator. '|', not the arithmatic plus, '+'.
typedef XMP_Int8 XMP_TriState

Error notification and Exceptions

From the beginning through version 5.5, XMP Tookit errors result in throwing an XMP_Error exception. For the most part exceptions were thrown early and thus API calls aborted as soon as an error was detected. Starting in version 5.5, support has been added for notifications of errors arising in calls to TXMPMeta and TXMPFiles functions.

A client can register an error notification callback function for a TXMPMeta or TXMPFiles object. This can be done as a global default or individually to each object. The global default applies to all objects created after it is registered. Within the object there is no difference between the global default or explicitly registered callback. The callback function returns a bool value indicating if recovery should be attempted (true) or an exception thrown (false). If no callback is registered, a best effort at recovery and continuation will be made with an exception thrown if recovery is not possible. More details can be found in the TXMPMeta and TXMPFiles documentation.

The XMP_Error class contains a numeric code and an English explanation. New numeric codes may be added at any time. There are typically many possible explanations for each numeric code. The explanations try to be precise about the specific circumstances causing the error.

Note:
The explanation string is for debugging use only. It must not be shown to users in a final product. It is written for developers not users, and never localized.


enum  {
  kXMPErrSev_Recoverable = 0,
  kXMPErrSev_OperationFatal = 1,
  kXMPErrSev_FileFatal = 2,
  kXMPErrSev_ProcessFatal = 3
}
 

Severity codes for error notifications.

More...
enum  {
  kXMPErr_NoError = -1,
  kXMPErr_Unknown = 0,
  kXMPErr_TBD = 1,
  kXMPErr_Unavailable = 2,
  kXMPErr_BadObject = 3,
  kXMPErr_BadParam = 4,
  kXMPErr_BadValue = 5,
  kXMPErr_AssertFailure = 6,
  kXMPErr_EnforceFailure = 7,
  kXMPErr_Unimplemented = 8,
  kXMPErr_InternalFailure = 9,
  kXMPErr_Deprecated = 10,
  kXMPErr_ExternalFailure = 11,
  kXMPErr_UserAbort = 12,
  kXMPErr_StdException = 13,
  kXMPErr_UnknownException = 14,
  kXMPErr_NoMemory = 15,
  kXMPErr_ProgressAbort = 16,
  kXMPErr_BadSchema = 101,
  kXMPErr_BadXPath = 102,
  kXMPErr_BadOptions = 103,
  kXMPErr_BadIndex = 104,
  kXMPErr_BadIterPosition = 105,
  kXMPErr_BadParse = 106,
  kXMPErr_BadSerialize = 107,
  kXMPErr_BadFileFormat = 108,
  kXMPErr_NoFileHandler = 109,
  kXMPErr_TooLargeForJPEG = 110,
  kXMPErr_NoFile = 111,
  kXMPErr_FilePermission = 112,
  kXMPErr_DiskSpace = 113,
  kXMPErr_ReadError = 114,
  kXMPErr_WriteError = 115,
  kXMPErr_BadBlockFormat = 116,
  kXMPErr_FilePathNotAFile = 117,
  kXMPErr_RejectedFileExtension = 118,
  kXMPErr_BadXML = 201,
  kXMPErr_BadRDF = 202,
  kXMPErr_BadXMP = 203,
  kXMPErr_EmptyIterator = 204,
  kXMPErr_BadUnicode = 205,
  kXMPErr_BadTIFF = 206,
  kXMPErr_BadJPEG = 207,
  kXMPErr_BadPSD = 208,
  kXMPErr_BadPSIR = 209,
  kXMPErr_BadIPTC = 210,
  kXMPErr_BadMPEG = 211
}
 

XMP_Error exception code constants.

More...
typedef XMP_Uns8 XMP_ErrorSeverity
typedef bool(* XMPMeta_ErrorCallbackProc )(void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
typedef bool(* XMPFiles_ErrorCallbackProc )(void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
typedef XMP_Bool(* XMPMeta_ErrorCallbackWrapper )(XMPMeta_ErrorCallbackProc clientProc, void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
 Internal: The signatures of client-side wrappers for the error notification callbacks.
typedef XMP_Bool(* XMPFiles_ErrorCallbackWrapper )(XMPFiles_ErrorCallbackProc clientProc, void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

Detailed Description

Common C/C++ types and constants for the XMP toolkit.


Define Documentation

#define kXMP_FalseStr   "False"

The canonical false string value for Booleans in serialized XMP.

Code that converts from string to bool should be case insensitive, and also allow "0".

#define kXMP_TrueStr   "True"

The canonical true string value for Booleans in serialized XMP.

Code that converts from string to bool should be case insensitive, and also allow "1".

#define XMP_ArrayIsAlternate ( opt   )     (((opt) & kXMP_PropArrayIsAlternate) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_ArrayIsAltText ( opt   )     (((opt) & kXMP_PropArrayIsAltText) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_ArrayIsOrdered ( opt   )     (((opt) & kXMP_PropArrayIsOrdered) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_ArrayIsUnordered ( opt   )     (((opt) & kXMP_PropArrayIsOrdered) == 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_CharFormIs16Bit (  )     ( ((int)(f) & kXMP_Char16BitMask) != 0 )

Macro reports the encoding of a character.

Parameters:
f The character to check.
#define XMP_CharFormIs32Bit (  )     ( ((int)(f) & kXMP_Char32BitMask) != 0 )

Macro reports the encoding of a character.

Parameters:
f The character to check.
#define XMP_CharFormIsBigEndian (  )     ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 )

Macro reports the byte-order of a character.

Parameters:
f The character to check.
#define XMP_CharFormIsLittleEndian (  )     ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 )

Macro reports the byte-order of a character.

Parameters:
f The character to check.
#define XMP_CharFromSerializeForm ( sf   )     ( (XMP_Uns8)(sf) )

Macro converts XMP_OptionBits to XMP_Uns8.

Parameters:
sf The character to convert.
#define XMP_CharToSerializeForm ( cf   )     ( (XMP_OptionBits)(cf) )

Macro converts XMP_Uns8 to XMP_OptionBits.

Parameters:
cf The character to convert.
#define XMP_ClearOption ( var,
opt   )     var &= ~(opt)

Macro clears an option flag bit.

Parameters:
var A variable storing an options flag.
opt The bit-flag constant to clear.
#define XMP_GetCharSize (  )     ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 )

Macro reports the byte-size of a character.

Parameters:
f The character to check.
#define XMP_NodeIsSchema ( opt   )     (((opt) & kXMP_SchemaNode) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_OptionIsClear ( var,
opt   )     (((var) & (opt)) == 0)

Macro reports whether an option flag bit is clear.

Parameters:
var A variable storing an options flag.
opt The bit-flag constant to test.
Returns:
True if the bit is clear.
#define XMP_OptionIsSet ( var,
opt   )     (((var) & (opt)) != 0)

Macro reports whether an option flag bit is set.

Parameters:
var A variable storing an options flag.
opt The bit-flag constant to test.
Returns:
True if the bit is set.
#define XMP_PropHasLang ( opt   )     (((opt) & kXMP_PropHasLang) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropHasQualifiers ( opt   )     (((opt) & kXMP_PropHasQualifiers) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropIsAlias ( opt   )     (((opt) & kXMP_PropIsAlias) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropIsArray ( opt   )     (((opt) & kXMP_PropValueIsArray) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropIsQualifier ( opt   )     (((opt) & kXMP_PropIsQualifier) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropIsSimple ( opt   )     (((opt) & kXMP_PropCompositeMask) == 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_PropIsStruct ( opt   )     (((opt) & kXMP_PropValueIsStruct) != 0)

Macro reports the property type specified by an options flag.

Parameters:
opt The options flag to check.
#define XMP_SetOption ( var,
opt   )     var |= (opt)

Macro sets an option flag bit.

Parameters:
var A variable storing an options flag.
opt The bit-flag constant to set.
#define XMP_TestOption ( var,
opt   )     (((var) & (opt)) != 0)

Macro reports whether an option flag bit is set.

Parameters:
var A variable storing an options flag.
opt The bit-flag constant to test.
Returns:
True if the bit is set.

Typedef Documentation

typedef bool(* XMP_AbortProc)(void *arg)

The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles.

Parameters:
arg A pointer to caller-defined data passed from the registration call.
Returns:
True to abort the current operation, which results in an exception being thrown.
See also:
TXMPFiles::SetAbortProc()
typedef bool(* XMP_ProgressReportProc)(void *context, float elapsedTime, float fractionDone, float secondsToGo)

The signature of a client-defined callback for progress report notifications.

Parameters:
context A pointer used to carry client-private context.
elapsedTime The time in seconds since the progress reporting started.
fractionDone A float value estimating the amount of work already done, in the range of 0.0 to 1.0. A value of 0.0 is given if the amount is not known, this happens if there is no estimate total for the total work. The units of work are not defined, but should usually be related to the number of bytes of I/O. This will go backwards if total work estimate changes.
secondsToGo A float value estimating the number of seconds left to complete the file operation. A value of 0.0 is given if the amount is not known, this happens if the amount of total work is unknown. This can go backwards according to throughput or if work estimate changes.
Returns:
True if the file operation should continue, false if it should be aborted with an exception being thrown from the XMPFiles library back to the original caller.
See also:
TXMPFiles::SetDefaultProgressCallback() and TXMPFiles::SetProgressCallback()
typedef XMP_Int32 XMP_Status

A signed 32-bit integer used as a status result for the output callback routine, XMP_TextOutputProc. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1.

typedef XMP_Status(* XMP_TextOutputProc)(void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)

The signature of a client-defined callback for text output from XMP Toolkit debugging operations. The callback is invoked one or more times for each line of output. The end of a line is signaled by a '\n' character at the end of the buffer. Formatting newlines are never present in the middle of a buffer, but values of properties might contain any UTF-8 characters.

Parameters:
refCon A pointer to client-defined data passed to the TextOutputProc.
buffer A string containing one line of output.
bufferSize The number of characters in the output buffer.
Returns:
A success/fail status value. Any failure result aborts the output.
See also:
TXMPMeta::DumpObject()
typedef struct __XMPDocOps__* XMPDocOpsRef

An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See TXMPDocOps.

typedef bool(* XMPFiles_ErrorCallbackProc)(void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

The signature of a client-defined callback for TXMPFiles error notifications.

Parameters:
context A pointer used to carry client-private context.
filePath The path for the file involved in the error.
severity The severity of the error, see the XMP_ErrorSeverity values.
cause A numeric code for the cause of the error, from the XMP_Error exception codes. Codes used with TXMPFiles error notifications:

  • kXMPErr_NoFile - A file does not exist
  • kXMPErr_FilePermission - A file exists but cannot be opened
  • kXMPErr_FilePathNotAFile - A path exists which is not a file
  • dXMPErr_RejectedFileExtension - Any Operation called on rejected file extension
  • KXMPErr_NoFileHandler - No suitable handler is found for the file
  • kXMPErr_DiskSpace - A file write fails due to lack of disk space
  • kXMPErr_ReadError - A file read fails
  • kXMPErr_WriteError - A file write fails for some other reason than space
  • kXMPErr_BadFileFormat - A file is corrupt or ill-formed
  • kXMPErr_BadBlockFormat - A portion of a file is corrupt or ill-formed
  • kXMPErr_BadValue - An XMP or non-XMP metadata item has an invalid value
  • kXMPErr_NoMemory - A heap allocation failure
message An explanation of the error, for debugging use only. This should not be displayed to users in a final product.
Returns:
True if the operation should continue with a best effort attempt at recovery, false if it should be aborted with an exception thrown from the library back to the original caller. Recovery is possible only if the severity is kXMPErrSev_Recoverable, an exception will be thrown on return from the callback in all other cases.
See also:
TXMPFiles::SetDefaultErrorCallback() and TXMPFiles::SetErrorCallback()
typedef struct __XMPFiles__* XMPFilesRef

An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See TXMPFiles.

typedef struct __XMPIterator__* XMPIteratorRef

An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See TXMPIterator.

typedef bool(* XMPMeta_ErrorCallbackProc)(void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

The signature of a client-defined callback for TXMPMeta error notifications.

Parameters:
context A pointer used to carry client-private context.
severity The severity of the error, see the XMP_ErrorSeverity values.
cause A numeric code for the cause of the error, from the XMP_Error exception codes. Codes used with TXMPMeta error notifications:

  • kXMPErr_BadXML - An XML syntax error found during parsing.
  • kXMPErr_BadRDF - A syntax or semantic parsing error in the XMP subset of RDF.
  • kXMPErr_BadXMP - A semantic XMP data model error.
  • kXMPErr_BadValue - An XMP value error, wrong type, out of range, etc.
  • kXMPErr_NoMemory - A heap allocation failure.
message An explanation of the error, for debugging use only. This should not be displayed to users in a final product.
Returns:
True if the operation should continue with a best effort attempt at recovery, false if it should be aborted with an exception thrown from the library back to the original caller. Recovery is possible only if the severity is kXMPErrSev_Recoverable, an exception will be thrown on return from the callback in all other cases.
See also:
TXMPMeta::SetDefaultErrorCallback() and TXMPMeta::SetErrorCallback()
typedef struct __XMPMeta__* XMPMetaRef

An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See TXMPMeta::GetInternalRef().


Enumeration Type Documentation

anonymous enum

Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes and values are true (non-zero), the no value is false (zero).

Enumerator:
kXMPTS_Yes 

The part or parts have definitely changed.

kXMPTS_No 

The part or parts have definitely not changed.

kXMPTS_Maybe 

The part or parts might, or might not, have changed.

anonymous enum

Constant values for XMP_DateTime::tzSign field.

Enumerator:
kXMP_TimeWestOfUTC 

Time zone is west of UTC.

kXMP_TimeIsUTC 

UTC time.

kXMP_TimeEastOfUTC 

Time zone is east of UTC.

anonymous enum

Option bit flags for TXMPUtils::RemoveProperties() and TXMPUtils::AppendProperties().

Enumerator:
kXMPUtil_DoAllProperties 

Do all properties, default is just external properties.

kXMPUtil_ReplaceOldValues 

Replace existing values, default is to leave them.

kXMPUtil_DeleteEmptyValues 

Delete properties if the new value is empty.

kXMPUtil_IncludeAliases 

Include aliases, default is just actual properties.

anonymous enum

File format constants for use with XMPFiles.

Enumerator:
kXMP_PDFFile 

Public file format constant: 'PDF '.

kXMP_PostScriptFile 

Public file format constant: 'PS ', general PostScript following DSC conventions.

kXMP_EPSFile 

Public file format constant: 'EPS ', encapsulated PostScript.

kXMP_JPEGFile 

Public file format constant: 'JPEG'.

kXMP_JPEG2KFile 

Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1.

kXMP_TIFFFile 

Public file format constant: 'TIFF'.

kXMP_GIFFile 

Public file format constant: 'GIF '.

kXMP_PNGFile 

Public file format constant: 'PNG '.

kXMP_SWFFile 

Public file format constant: 'SWF '.

kXMP_FLAFile 

Public file format constant: 'FLA '.

kXMP_FLVFile 

Public file format constant: 'FLV '.

kXMP_MOVFile 

Public file format constant: 'MOV ', Quicktime.

kXMP_AVIFile 

Public file format constant: 'AVI '.

kXMP_CINFile 

Public file format constant: 'CIN ', Cineon.

kXMP_WAVFile 

Public file format constant: 'WAV '.

kXMP_MP3File 

Public file format constant: 'MP3 '.

kXMP_SESFile 

Public file format constant: 'SES ', Audition session.

kXMP_CELFile 

Public file format constant: 'CEL ', Audition loop.

kXMP_MPEGFile 

Public file format constant: 'MPEG'.

kXMP_MPEG2File 

Public file format constant: 'MP2 '.

kXMP_MPEG4File 

Public file format constant: 'MP4 ', ISO 14494-12 and -14.

kXMP_MXFFile 

Public file format constant: 'MXF '.

kXMP_WMAVFile 

Public file format constant: 'WMAV', Windows Media Audio and Video.

kXMP_AIFFFile 

Public file format constant: 'AIFF'.

kXMP_REDFile 

Public file format constant: 'RED ', RED file format.

kXMP_P2File 

Public file format constant: 'P2 ', a collection not really a single file.

kXMP_XDCAM_FAMFile 

Public file format constant: 'XDCF', a collection not really a single file.

kXMP_XDCAM_SAMFile 

Public file format constant: 'XDCS', a collection not really a single file.

kXMP_XDCAM_EXFile 

Public file format constant: 'XDCX', a collection not really a single file.

kXMP_AVCHDFile 

Public file format constant: 'AVHD', a collection not really a single file.

kXMP_SonyHDVFile 

Public file format constant: 'SHDV', a collection not really a single file.

kXMP_CanonXFFile 

Public file format constant: 'CNXF', a collection not really a single file.

kXMP_HTMLFile 

Public file format constant: 'HTML'.

kXMP_XMLFile 

Public file format constant: 'XML '.

kXMP_TextFile 

Public file format constant: 'text'.

kXMP_PhotoshopFile 

Adobe application file format constant: 'PSD '.

kXMP_IllustratorFile 

Adobe application file format constant: 'AI '.

kXMP_InDesignFile 

Adobe application file format constant: 'INDD'.

kXMP_AEProjectFile 

Adobe application file format constant: 'AEP '.

kXMP_AEProjTemplateFile 

Adobe application file format constant: 'AET ', After Effects Project Template.

kXMP_AEFilterPresetFile 

Adobe application file format constant: 'FFX '.

kXMP_EncoreProjectFile 

Adobe application file format constant: 'NCOR'.

kXMP_PremiereProjectFile 

Adobe application file format constant: 'PRPJ'.

kXMP_PremiereTitleFile 

Adobe application file format constant: 'PRTL'.

kXMP_UCFFile 

Adobe application file format constant: 'UCF ', Universal Container Format.

kXMP_UnknownFile 

Unknown file format constant: ' '.

anonymous enum

Constants to allow easy testing for 16/32 bit and big/little endian.

Enumerator:
kXMP_Char8Bit 

8-bit

kXMP_Char16BitBig 

16-bit big-endian

kXMP_Char16BitLittle 

16-bit little-endian

kXMP_Char32BitBig 

32-bit big-endian

kXMP_Char32BitLittle 

32-bit little-endian

kXMP_CharUnknown 

Variable or not-yet-known cases.

anonymous enum

Version of the XMP_PacketInfo type.

Enumerator:
kXMP_PacketInfoVersion 

Version of the XMP_PacketInfo type.

anonymous enum

Option bit flags for TXMPFiles::Initialize().

Enumerator:
kXMPFiles_IgnoreLocalText 

Ignore non-XMP text that uses an undefined "local" encoding.

kXMPFiles_ServerMode 

Combination of flags necessary for server products using XMPFiles.

anonymous enum

Option bit flags for TXMPFiles::GetFormatInfo().

Enumerator:
kXMPFiles_CanInjectXMP 

Can inject first-time XMP into an existing file.

kXMPFiles_CanExpand 

Can expand XMP or other metadata in an existing file.

kXMPFiles_CanRewrite 

Can copy one file to another, writing new metadata.

kXMPFiles_PrefersInPlace 

Can expand, but prefers in-place update.

kXMPFiles_CanReconcile 

Supports reconciliation between XMP and other forms.

kXMPFiles_AllowsOnlyXMP 

Allows access to just the XMP, ignoring other forms.

kXMPFiles_ReturnsRawPacket 

File handler returns raw XMP packet information.

kXMPFiles_HandlerOwnsFile 

The file handler does the file open and close.

kXMPFiles_AllowsSafeUpdate 

The file handler allows crash-safe file updates.

kXMPFiles_NeedsReadOnlyPacket 

The file format needs the XMP packet to be read-only.

kXMPFiles_UsesSidecarXMP 

The file handler uses a "sidecar" file for the XMP.

kXMPFiles_FolderBasedFormat 

The format is folder oriented, for example the P2 video format.

kXMPFiles_CanNotifyProgress 

The file Handler is capable of notifying progress notifications.

kXMPFiles_NeedsPreloading 

The plugin handler is not capable for delay loading.

anonymous enum

Option bit flags for TXMPFiles::OpenFile().

Enumerator:
kXMPFiles_OpenForRead 

Open for read-only access.

kXMPFiles_OpenForUpdate 

Open for reading and writing.

kXMPFiles_OpenOnlyXMP 

Only the XMP is wanted, allows space/time optimizations.

kXMPFiles_ForceGivenHandler 

Force use of the given handler (format), do not even verify the format.

kXMPFiles_OpenStrictly 

Be strict about only attempting to use the designated file handler, no fallback to other handlers.

kXMPFiles_OpenUseSmartHandler 

Require the use of a smart handler.

kXMPFiles_OpenUsePacketScanning 

Force packet scanning, do not use a smart handler.

kXMPFiles_OpenLimitedScanning 

Only packet scan files "known" to need scanning.

kXMPFiles_OpenRepairFile 

Attempt to repair a file opened for update, default is to not open (throw an exception).

anonymous enum

Option bit flags for TXMPFiles::CloseFile().

Enumerator:
kXMPFiles_UpdateSafely 

Write into a temporary file and swap for crash safety.

anonymous enum

Severity codes for error notifications.

Enumerator:
kXMPErrSev_Recoverable 

Partial recovery and continuation is possible.

kXMPErrSev_OperationFatal 

Recovery is not possible, an exception will be thrown aborting the API call.

kXMPErrSev_FileFatal 

Recovery is not possible, an exception will be thrown, the file is corrupt and possibly unusable.

kXMPErrSev_ProcessFatal 

Recovery is not possible, an exception will be thrown, the entire process should be aborted.

anonymous enum

Option bit flags for the TXMPMeta property accessor functions.

Enumerator:
kXMP_PropValueIsURI 

The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED.

kXMP_PropHasQualifiers 

The property has qualifiers, includes rdf:type and xml:lang.

kXMP_PropIsQualifier 

This is a qualifier for some other property, includes rdf:type and xml:lang. Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree.

kXMP_PropHasLang 

Implies kXMP_PropHasQualifiers, property has xml:lang.

kXMP_PropHasType 

Implies kXMP_PropHasQualifiers, property has rdf:type.

kXMP_PropValueIsStruct 

The value is a structure with nested fields.

kXMP_PropValueIsArray 

The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types of array; default is a general unordered array, serialized using an rdf:Bag container.

kXMP_PropArrayIsUnordered 

The item order does not matter.

kXMP_PropArrayIsOrdered 

Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq container.

kXMP_PropArrayIsAlternate 

Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an rdf:Alt container.

kXMP_PropArrayIsAltText 

Implies kXMP_PropArrayIsAlternate, items are localized text. Each array element is a simple property with an xml:lang attribute.

kXMP_PropIsAlias 

This property is an alias name for another property. This is only returned by TXMPMeta::GetProperty() and then only if the property name is simple, not an path expression.

kXMP_PropHasAliases 

This property is the base value (actual) for a set of aliases.This is only returned by TXMPMeta::GetProperty() and then only if the property name is simple, not an path expression.

kXMP_PropIsInternal 

The value of this property is "owned" by the application, and should not generally be editable in a UI.

kXMP_PropIsStable 

The value of this property is not derived from the document content.

kXMP_PropIsDerived 

The value of this property is derived from the document content.

kXMP_PropArrayFormMask 

Property type bit-flag mask for all array types.

kXMP_PropCompositeMask 

Property type bit-flag mask for composite types (array and struct).

kXMP_ImplReservedMask 

Mask for bits that are reserved for transient use by the implementation.

anonymous enum

XMP_Error exception code constants.

Enumerator:
kXMPErr_NoError 

Generic error codes.

No error

kXMPErr_Unknown 

Generic unknown error.

kXMPErr_TBD 

Generic undefined error.

kXMPErr_Unavailable 

Generic unavailable error.

kXMPErr_BadObject 

Generic bad object error.

kXMPErr_BadParam 

Generic bad parameter error.

kXMPErr_BadValue 

Generic bad value error.

kXMPErr_AssertFailure 

Generic assertion failure.

kXMPErr_EnforceFailure 

Generic enforcement failure.

kXMPErr_Unimplemented 

Generic unimplemented error.

kXMPErr_InternalFailure 

Generic internal failure.

kXMPErr_Deprecated 

Generic deprecated error.

kXMPErr_ExternalFailure 

Generic external failure.

kXMPErr_UserAbort 

Generic user abort error.

kXMPErr_StdException 

Generic standard exception.

kXMPErr_UnknownException 

Generic unknown exception.

kXMPErr_NoMemory 

Generic out-of-memory error.

kXMPErr_ProgressAbort 

Progress reporting callback requested abort.

kXMPErr_BadSchema 

Bad schema parameter.

kXMPErr_BadXPath 

Bad XPath parameter.

kXMPErr_BadOptions 

Bad options parameter.

kXMPErr_BadIndex 

Bad index parameter.

kXMPErr_BadIterPosition 

Bad iteration position.

kXMPErr_BadParse 

XML parsing error (deprecated).

kXMPErr_BadSerialize 

Serialization error.

kXMPErr_BadFileFormat 

File format error.

kXMPErr_NoFileHandler 

No file handler found for format.

kXMPErr_TooLargeForJPEG 

Data too large for JPEG file format.

kXMPErr_NoFile 

A file does not exist.

kXMPErr_FilePermission 

A file exists but cannot be opened.

kXMPErr_DiskSpace 

A file write failed due to lack of disk space.

kXMPErr_ReadError 

A file read failed.

kXMPErr_WriteError 

A file write failed for a reason other than lack of disk space.

kXMPErr_BadBlockFormat 

A block of a file is ill-formed, e.g. invalid IPTC-IIM in a photo.

kXMPErr_FilePathNotAFile 

File Path is not a file.

kXMPErr_RejectedFileExtension 

Rejected File extension.

kXMPErr_BadXML 

XML format error.

kXMPErr_BadRDF 

RDF format error.

kXMPErr_BadXMP 

XMP format error.

kXMPErr_EmptyIterator 

Empty iterator.

kXMPErr_BadUnicode 

Unicode error.

kXMPErr_BadTIFF 

TIFF format error.

kXMPErr_BadJPEG 

JPEG format error.

kXMPErr_BadPSD 

PSD format error.

kXMPErr_BadPSIR 

PSIR format error.

kXMPErr_BadIPTC 

IPTC format error.

kXMPErr_BadMPEG 

MPEG format error.

anonymous enum

Option bit flags for the TXMPMeta property setting functions. These option bits are shared with the accessor functions:

Enumerator:
kXMP_InsertBeforeItem 

Option for array item location: Insert a new item before the given index.

kXMP_InsertAfterItem 

Option for array item location: Insert a new item after the given index.

kXMP_DeleteExisting 

Delete any pre-existing property.

kXMP_PropValueOptionsMask 

Bit-flag mask for property-value option bits.

kXMP_PropArrayLocationMask 

Bit-flag mask for array-item location bits.

anonymous enum

Option bit flags for TXMPMeta::ParseFromBuffer().

Enumerator:
kXMP_RequireXMPMeta 

Require a surrounding x:xmpmeta element.

kXMP_ParseMoreBuffers 

This is the not last input buffer for this parse stream.

kXMP_StrictAliasing 

Do not reconcile alias differences, throw an exception.

anonymous enum

Option bit flags for TXMPMeta::SerializeToBuffer().

Enumerator:
kXMP_OmitPacketWrapper 

Omit the XML packet wrapper.

kXMP_ReadOnlyPacket 

Default is a writeable packet.

kXMP_UseCompactFormat 

Use a compact form of RDF.

kXMP_UseCanonicalFormat 

Use a canonical form of RDF.

kXMP_IncludeThumbnailPad 

Include a padding allowance for a thumbnail image.

kXMP_ExactPacketLength 

The padding parameter is the overall packet length.

kXMP_OmitAllFormatting 

Omit all formatting whitespace.

kXMP_OmitXMPMetaElement 

Omit the x:xmpmeta element surrounding the rdf:RDF element.

kXMP_EncodingMask 

Bit-flag mask for encoding-type bits.

kXMP_EncodeUTF8 

Use UTF8 encoding.

kXMP_EncodeUTF16Big 

Use UTF16 big-endian encoding.

kXMP_EncodeUTF16Little 

Use UTF16 little-endian encoding.

kXMP_EncodeUTF32Big 

Use UTF32 big-endian encoding.

kXMP_EncodeUTF32Little 

Use UTF13 little-endian encoding.

anonymous enum

Option bit flags for TXMPIterator construction.

Enumerator:
kXMP_IterClassMask 

The low 8 bits are an enum of what data structure to iterate.

kXMP_IterProperties 

Iterate the property tree of a TXMPMeta object.

kXMP_IterAliases 

Iterate the global alias table.

kXMP_IterNamespaces 

Iterate the global namespace table.

kXMP_IterJustChildren 

Just do the immediate children of the root, default is subtree.

kXMP_IterJustLeafNodes 

Just do the leaf nodes, default is all nodes in the subtree.

kXMP_IterJustLeafName 

Return just the leaf part of the path, default is the full path.

kXMP_IterOmitQualifiers 

Omit all qualifiers.

anonymous enum

Option bit flags for TXMPIterator::Skip().

Enumerator:
kXMP_IterSkipSubtree 

Skip the subtree below the current node.

kXMP_IterSkipSiblings 

Skip the subtree below and remaining siblings of the current node.

anonymous enum

Option bit flags for TXMPUtils::CatenateArrayItems() and TXMPUtils::SeparateArrayItems(). These option bits are shared with the accessor functions:

Enumerator:
kXMPUtil_AllowCommas 

Allow commas in item values, default is separator.

anonymous enum

Option bit flags for TXMPUtils::ApplyTemplate().

Enumerator:
kXMPTemplate_IncludeInternalProperties 

Do all properties, default is just external properties.

kXMPTemplate_ReplaceExistingProperties 

Perform a Replace operation, add new properties and modify existing ones.

kXMPTemplate_ReplaceWithDeleteEmpty 

Similar to Replace, also delete if the template has an empty value.

kXMPTemplate_AddNewProperties 

Perform an Add operation, add properties if they don't already exist.

kXMPTemplate_ClearUnnamedProperties 

Perform a Clear operation, keep named properties and delete everything else.


XMP-Toolkit-SDK-CC201306 documentation generated by doxygen 1.6.3