diff options
Diffstat (limited to 'public/include/XMP_Const.h')
-rw-r--r-- | public/include/XMP_Const.h | 99 |
1 files changed, 54 insertions, 45 deletions
diff --git a/public/include/XMP_Const.h b/public/include/XMP_Const.h index 4b72404..b8b904f 100644 --- a/public/include/XMP_Const.h +++ b/public/include/XMP_Const.h @@ -11,7 +11,7 @@ #include "XMP_Environment.h" - #include <stddef.h> + #include <stddef.h> #if XMP_MacBuild | XMP_iOSBuild // ! No stdint.h on Windows and some UNIXes. #include <stdint.h> @@ -20,6 +20,9 @@ #include <inttypes.h> #endif +#ifndef XMP_MARKER_EXTENSIBILITY_BACKWARD_COMPATIBILITY + #define XMP_MARKER_EXTENSIBILITY_BACKWARD_COMPATIBILITY 1 +#endif #if __cplusplus extern "C" { @@ -122,19 +125,19 @@ static const XMP_Int64 Min_XMP_Int64 = ( (XMP_Int64) 0x8000000000000000LL ); static const XMP_Int64 Max_XMP_Int64 = ( (XMP_Int64) 0x7FFFFFFFFFFFFFFFLL ); -/// An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across -/// client DLL boundaries. See \c TXMPMeta::GetInternalRef(). +/// @brief An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across +/// client DLL boundaries. See \c TXMPMeta::GetInternalRef(). typedef struct __XMPMeta__ * XMPMetaRef; -/// An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP +/// @brief 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 \c TXMPIterator. typedef struct __XMPIterator__ * XMPIteratorRef; -/// An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an +/// @brief 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 \c TXMPDocOps. typedef struct __XMPDocOps__ * XMPDocOpsRef; -/// An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP +/// @brief 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 \c TXMPFiles. typedef struct __XMPFiles__ * XMPFilesRef; @@ -156,9 +159,10 @@ typedef struct __XMPFiles__ * XMPFilesRef; /// loop termination. /// \typedef XMP_OptionBits -/// \brief The type for a collection of 32 flag bits. Individual flags are defined as enum value bit -/// masks; see \c #kXMP_PropValueIsURI and following. A number of macros provide common set or set -/// operations, such as \c XMP_PropIsSimple. For other tests use an expression like <code>options & +/// \brief The type for a collection of 32 flag bits. +/// @details Individual flags are defined as enum value bit +/// masks; see \c #kXMP_PropValueIsURI and following. A number of macros provide common set or set +/// operations, such as \c XMP_PropIsSimple. For other tests use an expression like <code>options & /// kXMP_<theOption></code>. When passing multiple option flags use the bitwise-OR operator. '|', /// not the arithmatic plus, '+'. @@ -180,8 +184,8 @@ typedef XMP_Uns32 XMP_OptionBits; // Used as 32 individual bits. #define kXMP_TrueStr "True" // Serialized XMP spellings, not for the type bool. #define kXMP_FalseStr "False" -/// 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). +///@brief Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes +///values are true (non-zero), the no value is false (zero). enum { /// The part or parts have definitely changed. kXMPTS_Yes = 1, @@ -343,7 +347,7 @@ enum { #define kXMP_NS_BWF "http://ns.adobe.com/bwf/bext/1.0/" #define kXMP_NS_AEScart "http://ns.adobe.com/aes/cart/" #define kXMP_NS_RIFFINFO "http://ns.adobe.com/riff/info/" - +#define kXMP_NS_iXML "http://ns.adobe.com/ixml/1.0/" #define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/" #define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/" @@ -569,7 +573,7 @@ enum { // ------------------------------------------------------------------------------------------------- -/// Option bit flags for the \c TXMPMeta property accessor functions. +/// @brief Option bit flags for the \c TXMPMeta property accessor functions. enum { /// The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED @@ -662,8 +666,8 @@ enum { #define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL) -/// Option bit flags for the \c TXMPMeta property setting functions. These option bits are shared -/// with the accessor functions: +/// @brief Option bit flags for the \c TXMPMeta property setting functions. +/// @details These option bits are shared with the accessor functions: /// \li \c #kXMP_PropValueIsURI /// \li \c #kXMP_PropValueIsStruct /// \li \c #kXMP_PropValueIsArray @@ -691,7 +695,7 @@ enum { // ------------------------------------------------------------------------------------------------- -/// Option bit flags for \c TXMPMeta::ParseFromBuffer(). +/// @brief Option bit flags for \c TXMPMeta::ParseFromBuffer(). enum { /// Require a surrounding \c x:xmpmeta element. @@ -705,7 +709,7 @@ enum { }; -/// Option bit flags for \c TXMPMeta::SerializeToBuffer(). +/// @brief Option bit flags for \c TXMPMeta::SerializeToBuffer(). enum { // *** Option to remove empty struct/array, or leaf with empty value? @@ -763,7 +767,7 @@ enum { // ------------------------------------------------------------------------------------------------- -/// Option bit flags for \c TXMPIterator construction. +/// @brief Option bit flags for \c TXMPIterator construction. enum { /// The low 8 bits are an enum of what data structure to iterate. @@ -792,7 +796,7 @@ enum { }; -/// Option bit flags for \c TXMPIterator::Skip(). +/// @brief Option bit flags for \c TXMPIterator::Skip(). enum { /// Skip the subtree below the current node. @@ -805,8 +809,8 @@ enum { // ------------------------------------------------------------------------------------------------- -/// Option bit flags for \c TXMPUtils::CatenateArrayItems() and \c TXMPUtils::SeparateArrayItems(). -/// These option bits are shared with the accessor functions: +/// @brief Option bit flags for \c TXMPUtils::CatenateArrayItems() and \c TXMPUtils::SeparateArrayItems(). +/// @details These option bits are shared with the accessor functions: /// \li \c #kXMP_PropValueIsArray, /// \li \c #kXMP_PropArrayIsOrdered, /// \li \c #kXMP_PropArrayIsAlternate, @@ -818,7 +822,7 @@ enum { }; -/// Option bit flags for \c TXMPUtils::ApplyTemplate(). +/// @brief Option bit flags for \c TXMPUtils::ApplyTemplate(). enum { /// Do all properties, default is just external properties. @@ -838,7 +842,7 @@ enum { }; -/// Option bit flags for \c TXMPUtils::RemoveProperties() and \c TXMPUtils::AppendProperties(). +/// @brief Option bit flags for \c TXMPUtils::RemoveProperties() and \c TXMPUtils::AppendProperties(). enum { /// Do all properties, default is just external properties. @@ -859,10 +863,10 @@ enum { // Types and Constants for XMPFiles // ================================ -/// Seek mode constants for use with XMP_IO and inside XMPFiles library code. +/// @brief Seek mode constants for use with XMP_IO and inside XMPFiles library code. enum SeekMode { kXMP_SeekFromStart, kXMP_SeekFromCurrent, kXMP_SeekFromEnd }; -/// File format constants for use with XMPFiles. +/// @brief File format constants for use with XMPFiles. enum { // ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There @@ -941,6 +945,8 @@ enum { kXMP_SonyHDVFile = 0x53484456UL, /// Public file format constant: 'CNXF', a collection not really a single file kXMP_CanonXFFile = 0x434E5846UL, + /// Public file format constant: 'AVCU', a collection not really a single file + kXMP_AVCUltraFile = 0x41564355UL, /// Public file format constant: 'HTML' kXMP_HTMLFile = 0x48544D4CUL, @@ -948,6 +954,8 @@ enum { kXMP_XMLFile = 0x584D4C20UL, /// Public file format constant: 'text' kXMP_TextFile = 0x74657874UL, + /// Public file format constant: 'SVG ' + kXMP_SVGFile = 0x53564720UL, // ------------------------------- // Adobe application file formats. @@ -986,14 +994,14 @@ typedef XMP_Uns32 XMP_FileFormat; // ------------------------------------------------------------------------------------------------- -/// Byte-order masks, do not use directly +/// @brief Byte-order masks, do not use directly enum { kXMP_CharLittleEndianMask = 1, kXMP_Char16BitMask = 2, kXMP_Char32BitMask = 4 }; -/// Constants to allow easy testing for 16/32 bit and big/little endian. +/// @brief Constants to allow easy testing for 16/32 bit and big/little endian. enum { /// 8-bit kXMP_Char8Bit = 0, @@ -1058,7 +1066,7 @@ enum { /// \brief Constant for an unknown packet length within a file. #define kXMPFiles_UnknownLength ((XMP_Int32)-1) -/// XMP packet description +/// @brief XMP packet description struct XMP_PacketInfo { /// Packet offset in the file in bytes, -1 if unknown. @@ -1084,7 +1092,7 @@ struct XMP_PacketInfo { }; -/// Version of the XMP_PacketInfo type +/// @brief Version of the XMP_PacketInfo type enum { /// Version of the XMP_PacketInfo type kXMP_PacketInfoVersion = 3 @@ -1092,7 +1100,7 @@ enum { // ------------------------------------------------------------------------------------------------- -/// Option bit flags for \c TXMPFiles::Initialize(). +/// @brief Option bit flags for \c TXMPFiles::Initialize(). enum { /// Ignore non-XMP text that uses an undefined "local" encoding. kXMPFiles_IgnoreLocalText = 0x0002, @@ -1100,7 +1108,7 @@ enum { kXMPFiles_ServerMode = kXMPFiles_IgnoreLocalText }; -/// Option bit flags for \c TXMPFiles::GetFormatInfo(). +/// @brief Option bit flags for \c TXMPFiles::GetFormatInfo(). enum { /// Can inject first-time XMP into an existing file. @@ -1143,11 +1151,11 @@ enum { kXMPFiles_CanNotifyProgress = 0x00002000, /// The plugin handler is not capable for delay loading - kXMPFiles_NeedsPreloading = 0x00004000 + kXMPFiles_NeedsPreloading = 0x00004000, }; -/// Option bit flags for \c TXMPFiles::OpenFile(). +/// @brief Option bit flags for \c TXMPFiles::OpenFile(). enum { /// Open for read-only access. @@ -1182,12 +1190,13 @@ enum { }; -/// Option bit flags for \c TXMPFiles::CloseFile(). +/// @brief Option bit flags for \c TXMPFiles::CloseFile(). enum { /// Write into a temporary file and swap for crash safety. kXMPFiles_UpdateSafely = 0x0001 }; + // ================================================================================================= // Error notification and Exceptions // ================================= @@ -1195,7 +1204,7 @@ enum { /// \name Error notification and Exceptions /// @{ /// -/// From the beginning through version 5.5, XMP Tookit errors result in throwing an \c XMP_Error +/// @details From the beginning through version 5.5, XMP Tookit errors result in throwing an \c 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 \c TXMPMeta and \c TXMPFiles functions. @@ -1218,7 +1227,7 @@ enum { typedef XMP_Uns8 XMP_ErrorSeverity; -/// Severity codes for error notifications +/// @brief Severity codes for error notifications enum { /// Partial recovery and continuation is possible. kXMPErrSev_Recoverable = 0, @@ -1231,7 +1240,7 @@ enum { }; // ------------------------------------------------------------------------------------------------- -/// The signature of a client-defined callback for TXMPMeta error notifications. +/// @brief The signature of a client-defined callback for TXMPMeta error notifications. /// /// @param context A pointer used to carry client-private context. /// @@ -1258,7 +1267,7 @@ enum { typedef bool (* XMPMeta_ErrorCallbackProc) ( void* context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message ); // ------------------------------------------------------------------------------------------------- -/// The signature of a client-defined callback for TXMPFiles error notifications. +/// @brief The signature of a client-defined callback for TXMPFiles error notifications. /// /// @param context A pointer used to carry client-private context. /// @@ -1337,7 +1346,7 @@ private: XMP_Bool notified; }; -/// XMP_Error exception code constants +/// @brief XMP_Error exception code constants enum { // -------------------- @@ -1459,7 +1468,7 @@ enum { /// \name Special purpose callback functions /// @{ -/// A signed 32-bit integer used as a status result for the output callback routine, +/// @brief A signed 32-bit integer used as a status result for the output callback routine, /// \c 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. @@ -1467,8 +1476,9 @@ enum { typedef XMP_Int32 XMP_Status; // ------------------------------------------------------------------------------------------------- -/// 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 +/// @brief The signature of a client-defined callback for text output from XMP Toolkit debugging +/// operations. +/// @details 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. /// @@ -1487,7 +1497,7 @@ typedef XMP_Status (* XMP_TextOutputProc) ( void * refCon, XMP_StringLen bufferSize ); // ------------------------------------------------------------------------------------------------- -/// The signature of a client-defined callback to check for a user request to abort a time-consuming +/// @brief The signature of a client-defined callback to check for a user request to abort a time-consuming /// operation within XMPFiles. /// /// @param arg A pointer to caller-defined data passed from the registration call. @@ -1499,7 +1509,7 @@ typedef XMP_Status (* XMP_TextOutputProc) ( void * refCon, typedef bool (* XMP_AbortProc) ( void * arg ); // ------------------------------------------------------------------------------------------------- -/// The signature of a client-defined callback for progress report notifications. +/// @brief The signature of a client-defined callback for progress report notifications. /// /// @param context A pointer used to carry client-private context. /// @@ -1558,5 +1568,4 @@ typedef struct XMP_VersionInfo { #endif #include <vector> - #endif // __XMP_Const_h__ |