| 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
8 #include "XMPCore/XMPCoreDefines.h"
9 #if ENABLE_CPP_DOM_MODEL
10 #include "XMPCore/XMPCoreFwdDeclarations.h"
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
152 TXMPMeta ( XMPMetaRef xmpRef );
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
199 static XMP_OptionBits GetGlobalOptions();
200
201 // ---------------------------------------------------------------------------------------------
212
213 static void SetGlobalOptions ( XMP_OptionBits options );
214
216
217 // ---------------------------------------------------------------------------------------------
225
226 // ---------------------------------------------------------------------------------------------
239
240 static XMP_Status DumpNamespaces ( XMP_TextOutputProc outProc,
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
1386 DeleteLocalizedText ( XMP_StringPtr schemaNS,
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
1651 XMP_Index CountArrayItems ( XMP_StringPtr schemaNS,
1652 XMP_StringPtr arrayName ) const;
1653
1654 // ---------------------------------------------------------------------------------------------
1667
1668 XMP_Status DumpObject ( XMP_TextOutputProc outProc,
1669 void * clientData ) const;
1670
1671 // ---------------------------------------------------------------------------------------------
1673 XMP_OptionBits GetObjectOptions() const;
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.