XMP Toolkit SDK  6.0.0
TXMPMeta.hpp
Go to the documentation of this file.
1 #ifndef __TXMPMeta_hpp__
2 #define __TXMPMeta_hpp__ 1
3 
4 #if ( ! __XMP_hpp__ )
5  #error "Do not directly include, use XMP.hpp"
6 #endif
7 
9 #if ENABLE_CPP_DOM_MODEL
11 #endif
12 
13 // =================================================================================================
14 // Copyright Adobe
15 // Copyright 2002 Adobe
16 // All Rights Reserved
17 //
18 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
19 // of the Adobe license agreement accompanying it. If you have received this file from a source other
20 // than Adobe, then your use, modification, or distribution of it requires the prior written permission
21 // of Adobe.
22 // =================================================================================================
23 
24 // =================================================================================================
35 // =================================================================================================
36 
37 // =================================================================================================
50 // =================================================================================================
51 
52 template <class tStringObj> class TXMPIterator;
53 template <class tStringObj> class TXMPUtils;
54 
55 // -------------------------------------------------------------------------------------------------
56 
57 template <class tStringObj> class TXMPMeta {
58 
59 public:
60 
61  // =============================================================================================
62  // Initialization and termination
63  // ==============================
64 
65  // ---------------------------------------------------------------------------------------------
69 
70  // ---------------------------------------------------------------------------------------------
82 
83  static void GetVersionInfo ( XMP_VersionInfo * info );
84 
85  // ---------------------------------------------------------------------------------------------
87 
96  static bool Initialize();
97  // ---------------------------------------------------------------------------------------------
103 
104  static void Terminate();
105 
107 
108  // =============================================================================================
109  // Constuctors and destructor
110  // ==========================
111 
112  // ---------------------------------------------------------------------------------------------
115 
116  // ---------------------------------------------------------------------------------------------
120  TXMPMeta();
121 
122  // ---------------------------------------------------------------------------------------------
130 
131  TXMPMeta ( const TXMPMeta<tStringObj> & original );
132 
133  // ---------------------------------------------------------------------------------------------
138 
139  void operator= ( const TXMPMeta<tStringObj> & rhs );
140 
141  // ---------------------------------------------------------------------------------------------
151 
153 
154  // ---------------------------------------------------------------------------------------------
170 
171 
172  TXMPMeta ( XMP_StringPtr buffer,
173  XMP_StringLen xmpSize );
174 
175  // ---------------------------------------------------------------------------------------------
177  virtual ~TXMPMeta() throw();
178 
180 
181  // =============================================================================================
182  // Global state functions
183  // ======================
184 
185  // ---------------------------------------------------------------------------------------------
190 
191  // ---------------------------------------------------------------------------------------------
198 
200 
201  // ---------------------------------------------------------------------------------------------
212 
213  static void SetGlobalOptions ( XMP_OptionBits options );
214 
216 
217  // ---------------------------------------------------------------------------------------------
225 
226  // ---------------------------------------------------------------------------------------------
239 
241  void * clientData );
242 
244 
245  // ---------------------------------------------------------------------------------------------
256 
257  // ---------------------------------------------------------------------------------------------
278 
279  static bool RegisterNamespace ( XMP_StringPtr namespaceURI,
280  XMP_StringPtr suggestedPrefix,
281  tStringObj * registeredPrefix );
282 
283  // ---------------------------------------------------------------------------------------------
297 
298  static bool GetNamespacePrefix ( XMP_StringPtr namespaceURI,
299  tStringObj * namespacePrefix );
300 
301  // ---------------------------------------------------------------------------------------------
314 
315  static bool GetNamespaceURI ( XMP_StringPtr namespacePrefix,
316  tStringObj * namespaceURI );
317 
318  // ---------------------------------------------------------------------------------------------
327 
328  static void DeleteNamespace ( XMP_StringPtr namespaceURI );
329 
331 
332  // =============================================================================================
333  // Basic property manipulation functions
334  // =====================================
335 
336  // *** Should add discussion of schemaNS and propName prefix usage.
337 
338  // ---------------------------------------------------------------------------------------------
353 
354  // ---------------------------------------------------------------------------------------------
384 
385  bool GetProperty ( XMP_StringPtr schemaNS,
386  XMP_StringPtr propName,
387  tStringObj * propValue,
388  XMP_OptionBits * options ) const;
389 
390  // ---------------------------------------------------------------------------------------------
412 
413  bool GetArrayItem ( XMP_StringPtr schemaNS,
414  XMP_StringPtr arrayName,
415  XMP_Index itemIndex,
416  tStringObj * itemValue,
417  XMP_OptionBits * options ) const;
418 
419  // ---------------------------------------------------------------------------------------------
444 
445  bool GetStructField ( XMP_StringPtr schemaNS,
446  XMP_StringPtr structName,
447  XMP_StringPtr fieldNS,
448  XMP_StringPtr fieldName,
449  tStringObj * fieldValue,
450  XMP_OptionBits * options ) const;
451 
452  // ---------------------------------------------------------------------------------------------
477 
478  bool GetQualifier ( XMP_StringPtr schemaNS,
479  XMP_StringPtr propName,
480  XMP_StringPtr qualNS,
481  XMP_StringPtr qualName,
482  tStringObj * qualValue,
483  XMP_OptionBits * options ) const;
484 
486 
487  // =============================================================================================
488 
489  // ---------------------------------------------------------------------------------------------
501 
515 
516  // ---------------------------------------------------------------------------------------------
533 
534  void SetProperty ( XMP_StringPtr schemaNS,
535  XMP_StringPtr propName,
536  XMP_StringPtr propValue,
537  XMP_OptionBits options = 0 );
538 
539  // ---------------------------------------------------------------------------------------------
544 
545  void SetProperty ( XMP_StringPtr schemaNS,
546  XMP_StringPtr propName,
547  const tStringObj & propValue,
548  XMP_OptionBits options = 0 );
549 
550  // ---------------------------------------------------------------------------------------------
578 
579  void SetArrayItem ( XMP_StringPtr schemaNS,
580  XMP_StringPtr arrayName,
581  XMP_Index itemIndex,
582  XMP_StringPtr itemValue,
583  XMP_OptionBits options = 0 );
584 
585  // ---------------------------------------------------------------------------------------------
590 
591  void SetArrayItem ( XMP_StringPtr schemaNS,
592  XMP_StringPtr arrayName,
593  XMP_Index itemIndex,
594  const tStringObj & itemValue,
595  XMP_OptionBits options = 0 );
596 
597  // ---------------------------------------------------------------------------------------------
623 
624  void AppendArrayItem ( XMP_StringPtr schemaNS,
625  XMP_StringPtr arrayName,
626  XMP_OptionBits arrayOptions,
627  XMP_StringPtr itemValue,
628  XMP_OptionBits itemOptions = 0 );
629 
630  // ---------------------------------------------------------------------------------------------
636 
637  void AppendArrayItem ( XMP_StringPtr schemaNS,
638  XMP_StringPtr arrayName,
639  XMP_OptionBits arrayOptions,
640  const tStringObj & itemValue,
641  XMP_OptionBits itemOptions = 0 );
642 
643  // ---------------------------------------------------------------------------------------------
668 
669  void SetStructField ( XMP_StringPtr schemaNS,
670  XMP_StringPtr structName,
671  XMP_StringPtr fieldNS,
672  XMP_StringPtr fieldName,
673  XMP_StringPtr fieldValue,
674  XMP_OptionBits options = 0 );
675 
676  // ---------------------------------------------------------------------------------------------
682 
683  void SetStructField ( XMP_StringPtr schemaNS,
684  XMP_StringPtr structName,
685  XMP_StringPtr fieldNS,
686  XMP_StringPtr fieldName,
687  const tStringObj & fieldValue,
688  XMP_OptionBits options = 0 );
689 
690  // ---------------------------------------------------------------------------------------------
715 
716  void SetQualifier ( XMP_StringPtr schemaNS,
717  XMP_StringPtr propName,
718  XMP_StringPtr qualNS,
719  XMP_StringPtr qualName,
720  XMP_StringPtr qualValue,
721  XMP_OptionBits options = 0 );
722 
723  // ---------------------------------------------------------------------------------------------
728 
729  void SetQualifier ( XMP_StringPtr schemaNS,
730  XMP_StringPtr propName,
731  XMP_StringPtr qualNS,
732  XMP_StringPtr qualName,
733  const tStringObj & qualValue,
734  XMP_OptionBits options = 0 );
735 
737 
738  // =============================================================================================
739 
740  // ---------------------------------------------------------------------------------------------
746 
747  // ---------------------------------------------------------------------------------------------
755 
756  void DeleteProperty ( XMP_StringPtr schemaNS,
757  XMP_StringPtr propName );
758 
759  // ---------------------------------------------------------------------------------------------
772 
773  void DeleteArrayItem ( XMP_StringPtr schemaNS,
774  XMP_StringPtr arrayName,
775  XMP_Index itemIndex );
776 
777  // ---------------------------------------------------------------------------------------------
792 
793  void DeleteStructField ( XMP_StringPtr schemaNS,
794  XMP_StringPtr structName,
795  XMP_StringPtr fieldNS,
796  XMP_StringPtr fieldName );
797 
798  // ---------------------------------------------------------------------------------------------
814 
815  void DeleteQualifier ( XMP_StringPtr schemaNS,
816  XMP_StringPtr propName,
817  XMP_StringPtr qualNS,
818  XMP_StringPtr qualName );
819 
820  // ---------------------------------------------------------------------------------------------
828 
829  bool DoesPropertyExist ( XMP_StringPtr schemaNS,
830  XMP_StringPtr propName ) const;
831 
832  // ---------------------------------------------------------------------------------------------
846 
847  bool DoesArrayItemExist ( XMP_StringPtr schemaNS,
848  XMP_StringPtr arrayName,
849  XMP_Index itemIndex ) const;
850 
851  // ---------------------------------------------------------------------------------------------
868 
869  bool DoesStructFieldExist ( XMP_StringPtr schemaNS,
870  XMP_StringPtr structName,
871  XMP_StringPtr fieldNS,
872  XMP_StringPtr fieldName ) const;
873 
874  // ---------------------------------------------------------------------------------------------
890 
891  bool DoesQualifierExist ( XMP_StringPtr schemaNS,
892  XMP_StringPtr propName,
893  XMP_StringPtr qualNS,
894  XMP_StringPtr qualName ) const;
895 
897 
898  // =============================================================================================
899  // Specialized Get and Set functions
900  // =============================================================================================
901 
902  // ---------------------------------------------------------------------------------------------
911 
912  // ---------------------------------------------------------------------------------------------
931 
932  bool GetProperty_Bool ( XMP_StringPtr schemaNS,
933  XMP_StringPtr propName,
934  bool * propValue,
935  XMP_OptionBits * options ) const;
936 
937  // ---------------------------------------------------------------------------------------------
956 
957  bool GetProperty_Int ( XMP_StringPtr schemaNS,
958  XMP_StringPtr propName,
959  XMP_Int32 * propValue,
960  XMP_OptionBits * options ) const;
961 
962  // ---------------------------------------------------------------------------------------------
981 
982  bool GetProperty_Int64 ( XMP_StringPtr schemaNS,
983  XMP_StringPtr propName,
984  XMP_Int64 * propValue,
985  XMP_OptionBits * options ) const;
986 
987  // ---------------------------------------------------------------------------------------------
1006 
1007  bool GetProperty_Float ( XMP_StringPtr schemaNS,
1008  XMP_StringPtr propName,
1009  double * propValue,
1010  XMP_OptionBits * options ) const;
1011 
1012  // ---------------------------------------------------------------------------------------------
1031 
1032  bool GetProperty_Date ( XMP_StringPtr schemaNS,
1033  XMP_StringPtr propName,
1034  XMP_DateTime * propValue,
1035  XMP_OptionBits * options ) const;
1036 
1037  // ---------------------------------------------------------------------------------------------
1053 
1054  void SetProperty_Bool ( XMP_StringPtr schemaNS,
1055  XMP_StringPtr propName,
1056  bool propValue,
1057  XMP_OptionBits options = 0 );
1058 
1059  // ---------------------------------------------------------------------------------------------
1075 
1076  void SetProperty_Int ( XMP_StringPtr schemaNS,
1077  XMP_StringPtr propName,
1078  XMP_Int32 propValue,
1079  XMP_OptionBits options = 0 );
1080 
1081  // ---------------------------------------------------------------------------------------------
1097 
1098  void SetProperty_Int64 ( XMP_StringPtr schemaNS,
1099  XMP_StringPtr propName,
1100  XMP_Int64 propValue,
1101  XMP_OptionBits options = 0 );
1102 
1103  // ---------------------------------------------------------------------------------------------
1119 
1120  void SetProperty_Float ( XMP_StringPtr schemaNS,
1121  XMP_StringPtr propName,
1122  double propValue,
1123  XMP_OptionBits options = 0 );
1124 
1125  // ---------------------------------------------------------------------------------------------
1141 
1142  void SetProperty_Date ( XMP_StringPtr schemaNS,
1143  XMP_StringPtr propName,
1144  const XMP_DateTime & propValue,
1145  XMP_OptionBits options = 0 );
1146 
1148  // =============================================================================================
1187 
1188  // ---------------------------------------------------------------------------------------------
1229 
1230  bool GetLocalizedText ( XMP_StringPtr schemaNS,
1231  XMP_StringPtr altTextName,
1232  XMP_StringPtr genericLang,
1233  XMP_StringPtr specificLang,
1234  tStringObj * actualLang,
1235  tStringObj * itemValue,
1236  XMP_OptionBits * options ) const;
1237 
1238  // ---------------------------------------------------------------------------------------------
1296 
1297  void SetLocalizedText ( XMP_StringPtr schemaNS,
1298  XMP_StringPtr altTextName,
1299  XMP_StringPtr genericLang,
1300  XMP_StringPtr specificLang,
1301  XMP_StringPtr itemValue,
1302  XMP_OptionBits options = 0 );
1303 
1304  // ---------------------------------------------------------------------------------------------
1361 
1362  void SetLocalizedText ( XMP_StringPtr schemaNS,
1363  XMP_StringPtr altTextName,
1364  XMP_StringPtr genericLang,
1365  XMP_StringPtr specificLang,
1366  const tStringObj & itemValue,
1367  XMP_OptionBits options = 0 );
1368 
1369  // ---------------------------------------------------------------------------------------------
1385  void
1387  XMP_StringPtr altTextName,
1388  XMP_StringPtr genericLang,
1389  XMP_StringPtr specificLang );
1390 
1392 
1393  // =============================================================================================
1405 
1406  // ---------------------------------------------------------------------------------------------
1430 
1431  void ParseFromBuffer ( XMP_StringPtr buffer,
1432  XMP_StringLen bufferSize,
1433  XMP_OptionBits options = 0 );
1434 
1435  // ---------------------------------------------------------------------------------------------
1477 
1478  void SerializeToBuffer ( tStringObj * rdfString,
1479  XMP_OptionBits options,
1480  XMP_StringLen padding,
1481  XMP_StringPtr newline,
1482  XMP_StringPtr indent = "",
1483  XMP_Index baseIndent = 0 ) const;
1484 
1485  // ---------------------------------------------------------------------------------------------
1519 
1520  void SerializeToBuffer ( tStringObj * rdfString,
1521  XMP_OptionBits options = 0,
1522  XMP_StringLen padding = 0 ) const;
1523 
1525  // =============================================================================================
1526  // Miscellaneous Member Functions
1527  // ==============================
1528 
1529  // ---------------------------------------------------------------------------------------------
1532 
1533  // ---------------------------------------------------------------------------------------------
1565 
1566  XMPMetaRef GetInternalRef() const;
1567 
1568  // ---------------------------------------------------------------------------------------------
1574 
1575  void GetObjectName ( tStringObj * name ) const;
1576 
1577  // ---------------------------------------------------------------------------------------------
1583 
1584  void SetObjectName ( XMP_StringPtr name );
1585 
1586  // ---------------------------------------------------------------------------------------------
1592 
1593  void SetObjectName ( tStringObj name );
1594 
1595  // ---------------------------------------------------------------------------------------------
1606 
1607  void Sort();
1608 
1609  // ---------------------------------------------------------------------------------------------
1611 
1612  void Erase();
1613 
1614  // ---------------------------------------------------------------------------------------------
1638 
1639  TXMPMeta Clone ( XMP_OptionBits options = 0 ) const;
1640 
1641  // ---------------------------------------------------------------------------------------------
1650 
1652  XMP_StringPtr arrayName ) const;
1653 
1654  // ---------------------------------------------------------------------------------------------
1667 
1669  void * clientData ) const;
1670 
1671  // ---------------------------------------------------------------------------------------------
1674 
1675  // ---------------------------------------------------------------------------------------------
1677  void SetObjectOptions ( XMP_OptionBits options );
1678 
1680 
1681  // =============================================================================================
1682  // Error notifications
1683  // ===================
1684 
1685  // ---------------------------------------------------------------------------------------------
1707 
1708  // --------------------------------------------------------------------------------------------
1716 
1717  static void SetDefaultErrorCallback ( XMPMeta_ErrorCallbackProc proc, void* context = 0, XMP_Uns32 limit = 1 );
1718 
1719  // --------------------------------------------------------------------------------------------
1727 
1728  void SetErrorCallback ( XMPMeta_ErrorCallbackProc proc, void* context = 0, XMP_Uns32 limit = 1 );
1729 
1730  // --------------------------------------------------------------------------------------------
1735 
1736  void ResetErrorCallbackLimit ( XMP_Uns32 limit = 1 );
1737 
1739 
1740  // =============================================================================================
1741 
1742  XMPMetaRef xmpRef; // *** Should be private, see below.
1743 
1744 private:
1745 
1746 #if 0 // *** VS.Net and gcc seem to not handle the friend declarations properly.
1747  friend class TXMPIterator <class tStringObj>;
1748  friend class TXMPUtils <class tStringObj>;
1749 #endif
1750 
1751  static void SetClientString ( void * clientPtr, XMP_StringPtr valuePtr, XMP_StringLen valueLen );
1752 
1753 }; // class TXMPMeta
1754 
1755 #endif // __TXMPMeta_hpp__
TXMPMeta::DoesPropertyExist
bool DoesPropertyExist(XMP_StringPtr schemaNS, XMP_StringPtr propName) const
DoesPropertyExist() reports whether a property currently exists.
TXMPMeta::SetObjectOptions
void SetObjectOptions(XMP_OptionBits options)
Not implemented.
TXMPMeta::SetProperty_Int
void SetProperty_Int(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options=0)
SetProperty_Int() sets the value of an integer property using a C long integer.
TXMPMeta::SetLocalizedText
void SetLocalizedText(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options=0)
SetLocalizedText() modifies the value of a selected item in an alt-text array.
TXMPMeta::GetProperty_Float
bool GetProperty_Float(XMP_StringPtr schemaNS, XMP_StringPtr propName, double *propValue, XMP_OptionBits *options) const
GetProperty_Float() retrieves the value of a floating-point property as a C double float.
TXMPMeta::DoesArrayItemExist
bool DoesArrayItemExist(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex) const
DoesArrayItemExist() reports whether an array item currently exists.
TXMPMeta::GetProperty_Date
bool GetProperty_Date(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime *propValue, XMP_OptionBits *options) const
GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime structure.
TXMPMeta::GetInternalRef
XMPMetaRef GetInternalRef() const
Retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed.
TXMPMeta::ParseFromBuffer
void ParseFromBuffer(XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options=0)
ParseFromBuffer() parses RDF from a series of input buffers into this XMP object.
XMP_VersionInfo
XMP Toolkit version information.
Definition: XMP_Const.h:1565
TXMPMeta::Terminate
static void Terminate()
Terminate() explicitly terminates usage of the XMP Toolkit.
TXMPMeta::SetQualifier
void SetQualifier(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options=0)
SetQualifier() creates or sets a qualifier attached to a property.
TXMPMeta::GetGlobalOptions
static XMP_OptionBits GetGlobalOptions()
GetGlobalOptions() retrieves the set of global option flags. There are none in this version of the To...
XMP_TextOutputProc
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.
Definition: XMP_Const.h:1513
TXMPMeta::~TXMPMeta
virtual ~TXMPMeta()
Destructor, typical virtual destructor. *‍/.
TXMPMeta::GetVersionInfo
static void GetVersionInfo(XMP_VersionInfo *info)
GetVersionInfo() retrieves runtime version information.
TXMPMeta::ResetErrorCallbackLimit
void ResetErrorCallbackLimit(XMP_Uns32 limit=1)
ResetErrorCallbackLimit() resets the error notification limit and counting. It has no effect if an er...
TXMPMeta::SetDefaultErrorCallback
static void SetDefaultErrorCallback(XMPMeta_ErrorCallbackProc proc, void *context=0, XMP_Uns32 limit=1)
SetDefaultErrorCallback() registers a global default error notification callback.
TXMPMeta::Clone
TXMPMeta Clone(XMP_OptionBits options=0) const
Clone() creates a deep copy of an XMP object.
TXMPMeta::DeleteNamespace
static void DeleteNamespace(XMP_StringPtr namespaceURI)
Not implemented.
TXMPMeta::GetArrayItem
bool GetArrayItem(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj *itemValue, XMP_OptionBits *options) const
GetArrayItem() provides access to items within an array.
TXMPMeta::DumpObject
XMP_Status DumpObject(XMP_TextOutputProc outProc, void *clientData) const
DumpObject() outputs the content of an XMP object to a callback handler for debugging.
TXMPMeta::GetProperty
bool GetProperty(XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj *propValue, XMP_OptionBits *options) const
GetProperty() reports whether a property exists, and retrieves its value.
TXMPMeta::SetProperty_Int64
void SetProperty_Int64(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options=0)
SetProperty_Int64() sets the value of an integer property using a C long long integer.
XMPCoreDefines.h
TXMPMeta::DeleteQualifier
void DeleteQualifier(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName)
DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.
TXMPMeta::Initialize
static bool Initialize()
Initialize() explicitly initializes the XMP Toolkit before use. *‍/
TXMPMeta::SetErrorCallback
void SetErrorCallback(XMPMeta_ErrorCallbackProc proc, void *context=0, XMP_Uns32 limit=1)
SetErrorCallback() registers an error notification callback.
TXMPMeta::SetProperty
void SetProperty(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options=0)
be a simple property with an xml:lang attribute.
TXMPMeta::DeleteLocalizedText
void DeleteLocalizedText(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang)
DeleteLocalizedText() deletes specific language alternatives from an alt-text array.
TXMPMeta::SetProperty_Date
void SetProperty_Date(XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime &propValue, XMP_OptionBits options=0)
SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure.
TXMPMeta::DumpNamespaces
static XMP_Status DumpNamespaces(XMP_TextOutputProc outProc, void *clientData)
DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler.
TXMPMeta::DeleteStructField
void DeleteStructField(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName)
DeleteStructField() deletes an XMP subtree rooted at a given struct field.
TXMPMeta
API for access to the XMP Toolkit core services.
Definition: TXMPMeta.hpp:57
TXMPMeta::DeleteArrayItem
void DeleteArrayItem(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex)
DeleteArrayItem() deletes an XMP subtree rooted at a given array item.
TXMPMeta::SetProperty_Bool
void SetProperty_Bool(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options=0)
SetProperty_Bool() sets the value of a Boolean property using a C++ bool.
XMPCoreFwdDeclarations.h
TXMPMeta::SetGlobalOptions
static void SetGlobalOptions(XMP_OptionBits options)
SetGlobalOptions() updates the set of global option flags. There are none in this version of the Tool...
TXMPMeta::GetObjectName
void GetObjectName(tStringObj *name) const
GetObjectName() retrieves the client-assigned name of this XMP object.
TXMPMeta::SetArrayItem
void SetArrayItem(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options=0)
SetArrayItem() creates or sets the value of an item within an array.
TXMPMeta::GetObjectOptions
XMP_OptionBits GetObjectOptions() const
Not implemented.
XMP_StringPtr
const typedef char * XMP_StringPtr
The type for input string parameters. A const char *, a null-terminated UTF-8 string.
Definition: XMP_Const.h:178
TXMPMeta::xmpRef
XMPMetaRef xmpRef
Definition: TXMPMeta.hpp:1742
TXMPMeta::DoesStructFieldExist
bool DoesStructFieldExist(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName) const
DoesStructFieldExist() reports whether a struct field currently exists.
TXMPMeta::GetProperty_Int
bool GetProperty_Int(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 *propValue, XMP_OptionBits *options) const
GetProperty_Int() retrieves the value of an integer property as a C long integer.
XMPMetaRef
struct __XMPMeta__ * XMPMetaRef
An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client ...
Definition: XMP_Const.h:139
TXMPMeta::DeleteProperty
void DeleteProperty(XMP_StringPtr schemaNS, XMP_StringPtr propName)
DeleteProperty() deletes an XMP subtree rooted at a given property.
TXMPMeta::GetProperty_Int64
bool GetProperty_Int64(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 *propValue, XMP_OptionBits *options) const
GetProperty_Int64() retrieves the value of an integer property as a C long long integer.
TXMPMeta::SetObjectName
void SetObjectName(XMP_StringPtr name)
SetObjectName() assigns a name to this XMP object.
TXMPMeta::SerializeToBuffer
void SerializeToBuffer(tStringObj *rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent="", XMP_Index baseIndent=0) const
SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.
TXMPMeta::GetLocalizedText
bool GetLocalizedText(XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj *actualLang, tStringObj *itemValue, XMP_OptionBits *options) const
GetLocalizedText() retrieves information about a selected item in an alt-text array.
TXMPMeta::DoesQualifierExist
bool DoesQualifierExist(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName) const
DoesQualifierExist() reports whether a qualifier currently exists.
XMP_StringLen
XMP_Uns32 XMP_StringLen
The type for string length parameters. A 32-bit unsigned integer, as big as will be practically neede...
Definition: XMP_Const.h:179
TXMPMeta::SetClientString
static void SetClientString(void *clientPtr, XMP_StringPtr valuePtr, XMP_StringLen valueLen)
TXMPIterator
API for access to the XMP Toolkit iteration services.
Definition: TXMPIterator.hpp:81
TXMPMeta::TXMPMeta
TXMPMeta()
Default constructor, creates an empty object.
XMP_Index
XMP_Int32 XMP_Index
The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop terminat...
Definition: XMP_Const.h:180
TXMPMeta::CountArrayItems
XMP_Index CountArrayItems(XMP_StringPtr schemaNS, XMP_StringPtr arrayName) const
CountArrayItems() reports the number of items currently defined in an array.
TXMPMeta::RegisterNamespace
static bool RegisterNamespace(XMP_StringPtr namespaceURI, XMP_StringPtr suggestedPrefix, tStringObj *registeredPrefix)
RegisterNamespace() registers a namespace URI with a suggested prefix.
TXMPUtils
API for access to the XMP Toolkit utility services.
Definition: TXMPMeta.hpp:53
TXMPMeta::Sort
void Sort()
Sort() sorts the data model tree of an XMP object.
XMPMeta_ErrorCallbackProc
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.
Definition: XMP_Const.h:1281
TXMPMeta::GetProperty_Bool
bool GetProperty_Bool(XMP_StringPtr schemaNS, XMP_StringPtr propName, bool *propValue, XMP_OptionBits *options) const
GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.
TXMPMeta::GetStructField
bool GetStructField(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj *fieldValue, XMP_OptionBits *options) const
GetStructField() provides access to fields within a nested structure.
TXMPMeta::SetStructField
void SetStructField(XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options=0)
SetStructField() creates or sets the value of a field within a nested structure.
TXMPMeta::GetQualifier
bool GetQualifier(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj *qualValue, XMP_OptionBits *options) const
GetQualifier() provides access to a qualifier attached to a property.
TXMPMeta::AppendArrayItem
void AppendArrayItem(XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions=0)
AppendArrayItem() adds an item to an array, creating the array if necessary.
XMP_Status
XMP_Int32 XMP_Status
A signed 32-bit integer used as a status result for the output callback routine, XMP_TextOutputProc....
Definition: XMP_Const.h:1494
TXMPMeta::GetNamespacePrefix
static bool GetNamespacePrefix(XMP_StringPtr namespaceURI, tStringObj *namespacePrefix)
GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports whether the URI i...
TXMPMeta::Erase
void Erase()
Erase() restores the object to a "just constructed" state.
TXMPMeta::GetNamespaceURI
static bool GetNamespaceURI(XMP_StringPtr namespacePrefix, tStringObj *namespaceURI)
GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports whether the prefix i...
XMP_OptionBits
XMP_Uns32 XMP_OptionBits
The type for a collection of 32 flag bits.
Definition: XMP_Const.h:181
XMP_DateTime
The expanded type for a date and time.
Definition: XMP_Const.h:232
TXMPMeta::SetProperty_Float
void SetProperty_Float(XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options=0)
SetProperty_Float() sets the value of a floating-point property using a C double float.
TXMPMeta::operator=
void operator=(const TXMPMeta< tStringObj > &rhs)
Assignment operator, assigns the internal reference and increments the reference count.