1 #if ! __WXMPMeta_hpp__
2 #define __WXMPMeta_hpp__ 1
3 
4 // =================================================================================================
5 // Copyright 2002 Adobe Systems Incorporated
6 // All Rights Reserved.
7 //
8 // NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the terms
9 // of the Adobe license agreement accompanying it.
10 // =================================================================================================
11 
12 #include "client-glue/WXMP_Common.hpp"
13 
14 #if __cplusplus
15 extern "C" {
16 #endif
17 
18 // =================================================================================================
19 
WrapErrorNotify(XMPMeta_ErrorCallbackProc proc,void * context,XMP_ErrorSeverity severity,XMP_Int32 cause,XMP_StringPtr message)20 static XMP_Bool WrapErrorNotify ( XMPMeta_ErrorCallbackProc proc, void * context,
21 							  XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message )
22 {
23 	bool ok;
24 	try {
25 		ok = (*proc) ( context, severity, cause, message );
26 	} catch ( ... ) {
27 		ok = false;
28 	}
29 	return ConvertBoolToXMP_Bool( ok );
30 }
31 
32 // =================================================================================================
33 
34 #define zXMPMeta_GetVersionInfo_1(info) \
35     WXMPMeta_GetVersionInfo_1 ( info /* no wResult */ )
36 
37 #define zXMPMeta_Initialize_1() \
38     WXMPMeta_Initialize_1 ( &wResult )
39 #define zXMPMeta_Terminate_1() \
40     WXMPMeta_Terminate_1 ( /* no wResult */ )
41 
42 #define zXMPMeta_CTor_1() \
43     WXMPMeta_CTor_1 ( &wResult )
44 
45 #define zXMPMeta_GetGlobalOptions_1() \
46     WXMPMeta_GetGlobalOptions_1 ( &wResult )
47 
48 #define zXMPMeta_SetGlobalOptions_1(options) \
49     WXMPMeta_SetGlobalOptions_1 ( options, &wResult )
50 
51 #define zXMPMeta_DumpNamespaces_1(outProc,refCon) \
52     WXMPMeta_DumpNamespaces_1 ( outProc, refCon, &wResult )
53 
54 #define zXMPMeta_Use_CPP_DOM_APIs_1(useNewCoreAPIs) \
55 	WXMPMeta_Use_CPP_DOM_APIs_1( useNewCoreAPIs, &wResult )
56 #define zXMPMeta_RegisterNamespace_1(namespaceURI,suggestedPrefix,actualPrefix,SetClientString) \
57     WXMPMeta_RegisterNamespace_1 ( namespaceURI, suggestedPrefix, actualPrefix, SetClientString, &wResult )
58 
59 #define zXMPMeta_GetNamespacePrefix_1(namespaceURI,namespacePrefix,SetClientString) \
60     WXMPMeta_GetNamespacePrefix_1 ( namespaceURI, namespacePrefix, SetClientString, &wResult )
61 
62 #define zXMPMeta_GetNamespaceURI_1(namespacePrefix,namespaceURI,SetClientString) \
63     WXMPMeta_GetNamespaceURI_1 ( namespacePrefix, namespaceURI, SetClientString, &wResult )
64 
65 #define zXMPMeta_DeleteNamespace_1(namespaceURI) \
66     WXMPMeta_DeleteNamespace_1 ( namespaceURI, &wResult )
67 
68 #define zXMPMeta_GetIXMPMetadata_1() \
69 	WXMPMeta_GetIXMPMetadata_1( this->xmpRef, &wResult )
70 
71 #define zXMPMeta_GetProperty_1(schemaNS,propName,propValue,options,SetClientString) \
72     WXMPMeta_GetProperty_1 ( this->xmpRef, schemaNS, propName, propValue, options, SetClientString, &wResult )
73 
74 #define zXMPMeta_GetArrayItem_1(schemaNS,arrayName,itemIndex,itemValue,options,SetClientString) \
75     WXMPMeta_GetArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, itemValue, options, SetClientString, &wResult )
76 
77 #define zXMPMeta_GetStructField_1(schemaNS,structName,fieldNS,fieldName,fieldValue,options,SetClientString) \
78     WXMPMeta_GetStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, fieldValue, options, SetClientString, &wResult )
79 
80 #define zXMPMeta_GetQualifier_1(schemaNS,propName,qualNS,qualName,qualValue,options,SetClientString) \
81     WXMPMeta_GetQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, qualValue, options, SetClientString, &wResult )
82 
83 #define zXMPMeta_SetProperty_1(schemaNS,propName,propValue,options) \
84     WXMPMeta_SetProperty_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
85 
86 #define zXMPMeta_SetArrayItem_1(schemaNS,arrayName,itemIndex,itemValue,options) \
87     WXMPMeta_SetArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, itemValue, options, &wResult )
88 
89 #define zXMPMeta_AppendArrayItem_1(schemaNS,arrayName,arrayOptions,itemValue,options) \
90     WXMPMeta_AppendArrayItem_1 ( this->xmpRef, schemaNS, arrayName, arrayOptions, itemValue, options, &wResult )
91 
92 #define zXMPMeta_SetStructField_1(schemaNS,structName,fieldNS,fieldName,fieldValue,options) \
93     WXMPMeta_SetStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, fieldValue, options, &wResult )
94 
95 #define zXMPMeta_SetQualifier_1(schemaNS,propName,qualNS,qualName,qualValue,options) \
96     WXMPMeta_SetQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, qualValue, options, &wResult )
97 
98 #define zXMPMeta_DeleteProperty_1(schemaNS,propName) \
99     WXMPMeta_DeleteProperty_1 ( this->xmpRef, schemaNS, propName, &wResult )
100 
101 #define zXMPMeta_DeleteArrayItem_1(schemaNS,arrayName,itemIndex) \
102     WXMPMeta_DeleteArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, &wResult )
103 
104 #define zXMPMeta_DeleteStructField_1(schemaNS,structName,fieldNS,fieldName) \
105     WXMPMeta_DeleteStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, &wResult )
106 
107 #define zXMPMeta_DeleteQualifier_1(schemaNS,propName,qualNS,qualName) \
108     WXMPMeta_DeleteQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, &wResult )
109 
110 #define zXMPMeta_DoesPropertyExist_1(schemaNS,propName) \
111     WXMPMeta_DoesPropertyExist_1 ( this->xmpRef, schemaNS, propName, &wResult )
112 
113 #define zXMPMeta_DoesArrayItemExist_1(schemaNS,arrayName,itemIndex) \
114     WXMPMeta_DoesArrayItemExist_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, &wResult )
115 
116 #define zXMPMeta_DoesStructFieldExist_1(schemaNS,structName,fieldNS,fieldName) \
117     WXMPMeta_DoesStructFieldExist_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, &wResult )
118 
119 #define zXMPMeta_DoesQualifierExist_1(schemaNS,propName,qualNS,qualName) \
120     WXMPMeta_DoesQualifierExist_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, &wResult )
121 
122 #define zXMPMeta_GetLocalizedText_1(schemaNS,altTextName,genericLang,specificLang,clientLang,clientValue,options,SetClientString) \
123     WXMPMeta_GetLocalizedText_1 ( this->xmpRef, schemaNS, altTextName, genericLang, specificLang, clientLang, clientValue, options, SetClientString, &wResult )
124 
125 #define zXMPMeta_SetLocalizedText_1(schemaNS,altTextName,genericLang,specificLang,itemValue,options) \
126     WXMPMeta_SetLocalizedText_1 ( this->xmpRef, schemaNS, altTextName, genericLang, specificLang, itemValue, options, &wResult )
127 
128 #define zXMPMeta_DeleteLocalizedText_1(schemaNS,altTextName,genericLang,specificLang) \
129     WXMPMeta_DeleteLocalizedText_1 ( this->xmpRef, schemaNS, altTextName, genericLang, specificLang, &wResult )
130 #define zXMPMeta_GetProperty_Bool_1(schemaNS,propName,propValue,options) \
131     WXMPMeta_GetProperty_Bool_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
132 
133 #define zXMPMeta_GetProperty_Int_1(schemaNS,propName,propValue,options) \
134     WXMPMeta_GetProperty_Int_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
135 
136 #define zXMPMeta_GetProperty_Int64_1(schemaNS,propName,propValue,options) \
137     WXMPMeta_GetProperty_Int64_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
138 
139 #define zXMPMeta_GetProperty_Float_1(schemaNS,propName,propValue,options) \
140     WXMPMeta_GetProperty_Float_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
141 
142 #define zXMPMeta_GetProperty_Date_1(schemaNS,propName,propValue,options) \
143     WXMPMeta_GetProperty_Date_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
144 
145 #define zXMPMeta_SetProperty_Bool_1(schemaNS,propName,propValue,options) \
146     WXMPMeta_SetProperty_Bool_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
147 
148 #define zXMPMeta_SetProperty_Int_1(schemaNS,propName,propValue,options) \
149     WXMPMeta_SetProperty_Int_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
150 
151 #define zXMPMeta_SetProperty_Int64_1(schemaNS,propName,propValue,options) \
152     WXMPMeta_SetProperty_Int64_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
153 
154 #define zXMPMeta_SetProperty_Float_1(schemaNS,propName,propValue,options) \
155     WXMPMeta_SetProperty_Float_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
156 
157 #define zXMPMeta_SetProperty_Date_1(schemaNS,propName,propValue,options) \
158     WXMPMeta_SetProperty_Date_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult )
159 
160 #define zXMPMeta_GetObjectName_1(objName,SetClientString) \
161     WXMPMeta_GetObjectName_1 ( this->xmpRef, objName, SetClientString, &wResult )
162 
163 #define zXMPMeta_SetObjectName_1(name) \
164     WXMPMeta_SetObjectName_1 ( this->xmpRef, name, &wResult )
165 
166 #define zXMPMeta_GetObjectOptions_1() \
167     WXMPMeta_GetObjectOptions_1 ( this->xmpRef, &wResult )
168 
169 #define zXMPMeta_SetObjectOptions_1(options) \
170     WXMPMeta_SetObjectOptions_1 ( this->xmpRef, options, &wResult )
171 
172 #define zXMPMeta_Sort_1() \
173     WXMPMeta_Sort_1 ( this->xmpRef, &wResult )
174 
175 #define zXMPMeta_Erase_1() \
176     WXMPMeta_Erase_1 ( this->xmpRef, &wResult )
177 
178 #define zXMPMeta_Clone_1(options) \
179     WXMPMeta_Clone_1 ( this->xmpRef, options, &wResult )
180 
181 #define zXMPMeta_CountArrayItems_1(schemaNS,arrayName) \
182     WXMPMeta_CountArrayItems_1 ( this->xmpRef, schemaNS, arrayName, &wResult )
183 
184 #define zXMPMeta_DumpObject_1(outProc,refCon) \
185     WXMPMeta_DumpObject_1 ( this->xmpRef, outProc, refCon, &wResult )
186 
187 #define zXMPMeta_ParseFromBuffer_1(buffer,bufferSize,options) \
188     WXMPMeta_ParseFromBuffer_1 ( this->xmpRef, buffer, bufferSize, options, &wResult )
189 
190 #define zXMPMeta_SerializeToBuffer_1(pktString,options,padding,newline,indent,baseIndent,SetClientString) \
191     WXMPMeta_SerializeToBuffer_1 ( this->xmpRef, pktString, options, padding, newline, indent, baseIndent, SetClientString, &wResult )
192 
193 #define zXMPMeta_SetDefaultErrorCallback_1(proc,context,limit) \
194 	WXMPMeta_SetDefaultErrorCallback_1 ( WrapErrorNotify, proc, context, limit, &wResult )
195 
196 #define zXMPMeta_SetErrorCallback_1(proc,context,limit) \
197 	WXMPMeta_SetErrorCallback_1 ( this->xmpRef, WrapErrorNotify, proc, context, limit, &wResult )
198 
199 #define zXMPMeta_ResetErrorCallbackLimit_1(limit) \
200 	WXMPMeta_ResetErrorCallbackLimit_1 ( this->xmpRef, limit, &wResult )
201 
202 // =================================================================================================
203 
204 extern void
205 XMP_PUBLIC WXMPMeta_GetVersionInfo_1 ( XMP_VersionInfo * info );
206 
207 extern void
208 XMP_PUBLIC WXMPMeta_Initialize_1 ( WXMP_Result * wResult );
209 extern void
210 XMP_PUBLIC WXMPMeta_Terminate_1();
211 
212 // -------------------------------------------------------------------------------------------------
213 
214 extern void
215 XMP_PUBLIC WXMPMeta_CTor_1 ( WXMP_Result * wResult );
216 
217 extern void
218 XMP_PUBLIC WXMPMeta_IncrementRefCount_1 ( XMPMetaRef xmpRef );
219 
220 extern void
221 XMP_PUBLIC WXMPMeta_DecrementRefCount_1 ( XMPMetaRef xmpRef );
222 
223 // -------------------------------------------------------------------------------------------------
224 
225 extern void
226 XMP_PUBLIC WXMPMeta_GetGlobalOptions_1 ( WXMP_Result * wResult );
227 
228 extern void
229 XMP_PUBLIC WXMPMeta_SetGlobalOptions_1 ( XMP_OptionBits options,
230                               WXMP_Result *  wResult );
231 
232 // -------------------------------------------------------------------------------------------------
233 
234 extern void
235 XMP_PUBLIC WXMPMeta_DumpNamespaces_1 ( XMP_TextOutputProc outProc,
236                             void *             refCon,
237                             WXMP_Result *      wResult );
238 
239 extern void
240 XMP_PUBLIC WXMPMeta_Use_CPP_DOM_APIs_1( XMP_Bool useNewCoreAPIs,
241 										WXMP_Result * wResult );
242 
243 // -------------------------------------------------------------------------------------------------
244 
245 extern void
246 XMP_PUBLIC WXMPMeta_RegisterNamespace_1 ( XMP_StringPtr namespaceURI,
247                                XMP_StringPtr suggestedPrefix,
248                                void *        actualPrefix,
249                                SetClientStringProc SetClientString,
250                                WXMP_Result * wResult );
251 
252 extern void
253 XMP_PUBLIC WXMPMeta_GetNamespacePrefix_1 ( XMP_StringPtr namespaceURI,
254                                 void *        namespacePrefix,
255                                 SetClientStringProc SetClientString,
256                                 WXMP_Result * wResult );
257 
258 extern void
259 XMP_PUBLIC WXMPMeta_GetNamespaceURI_1 ( XMP_StringPtr namespacePrefix,
260                              void *        namespaceURI,
261                              SetClientStringProc SetClientString,
262                              WXMP_Result * wResult );
263 
264 extern void
265 XMP_PUBLIC WXMPMeta_DeleteNamespace_1 ( XMP_StringPtr namespaceURI,
266                              WXMP_Result * wResult );
267 
268 // -------------------------------------------------------------------------------------------------
269 
270 extern void
271 XMP_PUBLIC WXMPMeta_GetIXMPMetadata_1(XMPMetaRef	  xmpObjRef,
272 WXMP_Result *  wResult );
273 
274 
275 extern void
276 XMP_PUBLIC WXMPMeta_GetProperty_1 ( XMPMetaRef       xmpRef,
277                          XMP_StringPtr    schemaNS,
278                          XMP_StringPtr    propName,
279                          void *           propValue,
280                          XMP_OptionBits * options,
281                          SetClientStringProc SetClientString,
282                          WXMP_Result *    wResult ) /* const */ ;
283 
284 extern void
285 XMP_PUBLIC WXMPMeta_GetArrayItem_1 ( XMPMetaRef       xmpRef,
286                           XMP_StringPtr    schemaNS,
287                           XMP_StringPtr    arrayName,
288                           XMP_Index        itemIndex,
289                           void *           itemValue,
290                           XMP_OptionBits * options,
291                           SetClientStringProc SetClientString,
292                           WXMP_Result *    wResult ) /* const */ ;
293 
294 extern void
295 XMP_PUBLIC WXMPMeta_GetStructField_1 ( XMPMetaRef       xmpRef,
296                             XMP_StringPtr    schemaNS,
297                             XMP_StringPtr    structName,
298                             XMP_StringPtr    fieldNS,
299                             XMP_StringPtr    fieldName,
300                             void *           fieldValue,
301                             XMP_OptionBits * options,
302                             SetClientStringProc SetClientString,
303                             WXMP_Result *    wResult ) /* const */ ;
304 
305 extern void
306 XMP_PUBLIC WXMPMeta_GetQualifier_1 ( XMPMetaRef       xmpRef,
307                           XMP_StringPtr    schemaNS,
308                           XMP_StringPtr    propName,
309                           XMP_StringPtr    qualNS,
310                           XMP_StringPtr    qualName,
311                           void *           qualValue,
312                           XMP_OptionBits * options,
313                           SetClientStringProc SetClientString,
314                           WXMP_Result *    wResult ) /* const */ ;
315 
316 // -------------------------------------------------------------------------------------------------
317 
318 extern void
319 XMP_PUBLIC WXMPMeta_SetProperty_1 ( XMPMetaRef     xmpRef,
320                          XMP_StringPtr  schemaNS,
321                          XMP_StringPtr  propName,
322                          XMP_StringPtr  propValue,
323                          XMP_OptionBits options,
324                          WXMP_Result *  wResult );
325 
326 extern void
327 XMP_PUBLIC WXMPMeta_SetArrayItem_1 ( XMPMetaRef     xmpRef,
328                           XMP_StringPtr  schemaNS,
329                           XMP_StringPtr  arrayName,
330                           XMP_Index      itemIndex,
331                           XMP_StringPtr  itemValue,
332                           XMP_OptionBits options,
333                           WXMP_Result *  wResult );
334 
335 extern void
336 XMP_PUBLIC WXMPMeta_AppendArrayItem_1 ( XMPMetaRef     xmpRef,
337                              XMP_StringPtr  schemaNS,
338                              XMP_StringPtr  arrayName,
339                              XMP_OptionBits arrayOptions,
340                              XMP_StringPtr  itemValue,
341                              XMP_OptionBits options,
342                              WXMP_Result *  wResult );
343 
344 extern void
345 XMP_PUBLIC WXMPMeta_SetStructField_1 ( XMPMetaRef     xmpRef,
346                             XMP_StringPtr  schemaNS,
347                             XMP_StringPtr  structName,
348                             XMP_StringPtr  fieldNS,
349                             XMP_StringPtr  fieldName,
350                             XMP_StringPtr  fieldValue,
351                             XMP_OptionBits options,
352                             WXMP_Result *  wResult );
353 
354 extern void
355 XMP_PUBLIC WXMPMeta_SetQualifier_1 ( XMPMetaRef     xmpRef,
356                           XMP_StringPtr  schemaNS,
357                           XMP_StringPtr  propName,
358                           XMP_StringPtr  qualNS,
359                           XMP_StringPtr  qualName,
360                           XMP_StringPtr  qualValue,
361                           XMP_OptionBits options,
362                           WXMP_Result *  wResult );
363 
364 // -------------------------------------------------------------------------------------------------
365 
366 extern void
367 XMP_PUBLIC WXMPMeta_DeleteProperty_1 ( XMPMetaRef    xmpRef,
368                             XMP_StringPtr schemaNS,
369                             XMP_StringPtr propName,
370                             WXMP_Result * wResult );
371 
372 extern void
373 XMP_PUBLIC WXMPMeta_DeleteArrayItem_1 ( XMPMetaRef    xmpRef,
374                              XMP_StringPtr schemaNS,
375                              XMP_StringPtr arrayName,
376                              XMP_Index     itemIndex,
377                              WXMP_Result * wResult );
378 
379 extern void
380 XMP_PUBLIC WXMPMeta_DeleteStructField_1 ( XMPMetaRef    xmpRef,
381                                XMP_StringPtr schemaNS,
382                                XMP_StringPtr structName,
383                                XMP_StringPtr fieldNS,
384                                XMP_StringPtr fieldName,
385                                WXMP_Result * wResult );
386 
387 extern void
388 XMP_PUBLIC WXMPMeta_DeleteQualifier_1 ( XMPMetaRef    xmpRef,
389                              XMP_StringPtr schemaNS,
390                              XMP_StringPtr propName,
391                              XMP_StringPtr qualNS,
392                              XMP_StringPtr qualName,
393                              WXMP_Result * wResult );
394 
395 // -------------------------------------------------------------------------------------------------
396 
397 extern void
398 XMP_PUBLIC WXMPMeta_DoesPropertyExist_1 ( XMPMetaRef    xmpRef,
399                                XMP_StringPtr schemaNS,
400                                XMP_StringPtr propName,
401                                WXMP_Result * wResult ) /* const */ ;
402 
403 extern void
404 XMP_PUBLIC WXMPMeta_DoesArrayItemExist_1 ( XMPMetaRef    xmpRef,
405                                 XMP_StringPtr schemaNS,
406                                 XMP_StringPtr arrayName,
407                                 XMP_Index     itemIndex,
408                                 WXMP_Result * wResult ) /* const */ ;
409 
410 extern void
411 XMP_PUBLIC WXMPMeta_DoesStructFieldExist_1 ( XMPMetaRef    xmpRef,
412                                   XMP_StringPtr schemaNS,
413                                   XMP_StringPtr structName,
414                                   XMP_StringPtr fieldNS,
415                                   XMP_StringPtr fieldName,
416                                   WXMP_Result * wResult ) /* const */ ;
417 
418 extern void
419 XMP_PUBLIC WXMPMeta_DoesQualifierExist_1 ( XMPMetaRef    xmpRef,
420                                 XMP_StringPtr schemaNS,
421                                 XMP_StringPtr propName,
422                                 XMP_StringPtr qualNS,
423                                 XMP_StringPtr qualName,
424                                 WXMP_Result * wResult ) /* const */ ;
425 
426 // -------------------------------------------------------------------------------------------------
427 
428 extern void
429 XMP_PUBLIC WXMPMeta_GetLocalizedText_1 ( XMPMetaRef       xmpRef,
430                               XMP_StringPtr    schemaNS,
431                               XMP_StringPtr    altTextName,
432                               XMP_StringPtr    genericLang,
433                               XMP_StringPtr    specificLang,
434                               void *           clientLang,
435                               void *           clientValue,
436                               XMP_OptionBits * options,
437                               SetClientStringProc SetClientString,
438                               WXMP_Result *    wResult ) /* const */ ;
439 
440 extern void
441 XMP_PUBLIC WXMPMeta_SetLocalizedText_1 ( XMPMetaRef     xmpRef,
442                               XMP_StringPtr  schemaNS,
443                               XMP_StringPtr  altTextName,
444                               XMP_StringPtr  genericLang,
445                               XMP_StringPtr  specificLang,
446                               XMP_StringPtr  itemValue,
447                               XMP_OptionBits options,
448                               WXMP_Result *  wResult );
449 
450 extern void
451 XMP_PUBLIC WXMPMeta_DeleteLocalizedText_1 ( XMPMetaRef       xmpRef,
452                               XMP_StringPtr    schemaNS,
453                               XMP_StringPtr    altTextName,
454                               XMP_StringPtr    genericLang,
455                               XMP_StringPtr    specificLang,
456                               WXMP_Result *    wResult );
457 
458 // -------------------------------------------------------------------------------------------------
459 
460 extern void
461 XMP_PUBLIC WXMPMeta_GetProperty_Bool_1 ( XMPMetaRef       xmpRef,
462                               XMP_StringPtr    schemaNS,
463                               XMP_StringPtr    propName,
464                               XMP_Bool *       propValue,
465                               XMP_OptionBits * options,
466                               WXMP_Result *    wResult ) /* const */ ;
467 
468 extern void
469 XMP_PUBLIC WXMPMeta_GetProperty_Int_1 ( XMPMetaRef       xmpRef,
470                              XMP_StringPtr    schemaNS,
471                              XMP_StringPtr    propName,
472                              XMP_Int32 *      propValue,
473                              XMP_OptionBits * options,
474                              WXMP_Result *    wResult ) /* const */ ;
475 
476 extern void
477 XMP_PUBLIC WXMPMeta_GetProperty_Int64_1 ( XMPMetaRef       xmpRef,
478                                XMP_StringPtr    schemaNS,
479                                XMP_StringPtr    propName,
480                                XMP_Int64 *      propValue,
481                                XMP_OptionBits * options,
482                                WXMP_Result *    wResult ) /* const */ ;
483 
484 extern void
485 XMP_PUBLIC WXMPMeta_GetProperty_Float_1 ( XMPMetaRef       xmpRef,
486                                XMP_StringPtr    schemaNS,
487                                XMP_StringPtr    propName,
488                                double *         propValue,
489                                XMP_OptionBits * options,
490                                WXMP_Result *    wResult ) /* const */ ;
491 
492 extern void
493 XMP_PUBLIC WXMPMeta_GetProperty_Date_1 ( XMPMetaRef       xmpRef,
494                               XMP_StringPtr    schemaNS,
495                               XMP_StringPtr    propName,
496                               XMP_DateTime *   propValue,
497                               XMP_OptionBits * options,
498                               WXMP_Result *    wResult ) /* const */ ;
499 
500 extern void
501 XMP_PUBLIC WXMPMeta_SetProperty_Bool_1 ( XMPMetaRef     xmpRef,
502                               XMP_StringPtr  schemaNS,
503                               XMP_StringPtr  propName,
504                               XMP_Bool       propValue,
505                               XMP_OptionBits options,
506                               WXMP_Result *  wResult );
507 
508 extern void
509 XMP_PUBLIC WXMPMeta_SetProperty_Int_1 ( XMPMetaRef     xmpRef,
510                              XMP_StringPtr  schemaNS,
511                              XMP_StringPtr  propName,
512                              XMP_Int32      propValue,
513                              XMP_OptionBits options,
514                              WXMP_Result *  wResult );
515 
516 extern void
517 XMP_PUBLIC WXMPMeta_SetProperty_Int64_1 ( XMPMetaRef     xmpRef,
518                                XMP_StringPtr  schemaNS,
519                                XMP_StringPtr  propName,
520                                XMP_Int64      propValue,
521                                XMP_OptionBits options,
522                                WXMP_Result *  wResult );
523 
524 extern void
525 XMP_PUBLIC WXMPMeta_SetProperty_Float_1 ( XMPMetaRef     xmpRef,
526                                XMP_StringPtr  schemaNS,
527                                XMP_StringPtr  propName,
528                                double         propValue,
529                                XMP_OptionBits options,
530                                WXMP_Result *  wResult );
531 
532 extern void
533 XMP_PUBLIC WXMPMeta_SetProperty_Date_1 ( XMPMetaRef           xmpRef,
534                               XMP_StringPtr        schemaNS,
535                               XMP_StringPtr        propName,
536                               const XMP_DateTime & propValue,
537                               XMP_OptionBits       options,
538                               WXMP_Result *        wResult );
539 
540 // -------------------------------------------------------------------------------------------------
541 
542 extern void
543 XMP_PUBLIC WXMPMeta_GetObjectName_1 ( XMPMetaRef    xmpRef,
544                            void *        objName,
545                            SetClientStringProc SetClientString,
546                            WXMP_Result * wResult ) /* const */ ;
547 
548 extern void
549 XMP_PUBLIC WXMPMeta_SetObjectName_1 ( XMPMetaRef    xmpRef,
550                            XMP_StringPtr name,
551                            WXMP_Result * wResult );
552 
553 extern void
554 XMP_PUBLIC WXMPMeta_GetObjectOptions_1 ( XMPMetaRef    xmpRef,
555                               WXMP_Result * wResult ) /* const */ ;
556 
557 extern void
558 XMP_PUBLIC WXMPMeta_SetObjectOptions_1 ( XMPMetaRef     xmpRef,
559                               XMP_OptionBits options,
560                               WXMP_Result *  wResult );
561 
562 extern void
563 XMP_PUBLIC WXMPMeta_Sort_1 ( XMPMetaRef    xmpRef,
564                   WXMP_Result * wResult );
565 
566 extern void
567 XMP_PUBLIC WXMPMeta_Erase_1 ( XMPMetaRef    xmpRef,
568                    WXMP_Result * wResult );
569 
570 extern void
571 XMP_PUBLIC WXMPMeta_Clone_1 ( XMPMetaRef     xmpRef,
572                    XMP_OptionBits options,
573                    WXMP_Result *  wResult ) /* const */ ;
574 
575 extern void
576 XMP_PUBLIC WXMPMeta_CountArrayItems_1 ( XMPMetaRef    xmpRef,
577                              XMP_StringPtr schemaNS,
578                              XMP_StringPtr arrayName,
579                              WXMP_Result * wResult ) /* const */ ;
580 
581 extern void
582 XMP_PUBLIC WXMPMeta_DumpObject_1 ( XMPMetaRef         xmpRef,
583                         XMP_TextOutputProc outProc,
584                         void *             refCon,
585                         WXMP_Result *      wResult ) /* const */ ;
586 
587 // -------------------------------------------------------------------------------------------------
588 
589 extern void
590 XMP_PUBLIC WXMPMeta_ParseFromBuffer_1 ( XMPMetaRef     xmpRef,
591                              XMP_StringPtr  buffer,
592                              XMP_StringLen  bufferSize,
593                              XMP_OptionBits options,
594                              WXMP_Result *  wResult );
595 
596 extern void
597 XMP_PUBLIC WXMPMeta_SerializeToBuffer_1 ( XMPMetaRef     xmpRef,
598                                void *         pktString,
599                                XMP_OptionBits options,
600                                XMP_StringLen  padding,
601                                XMP_StringPtr  newline,
602                                XMP_StringPtr  indent,
603                                XMP_Index      baseIndent,
604                                SetClientStringProc SetClientString,
605                                WXMP_Result *  wResult ) /* const */ ;
606 
607 // -------------------------------------------------------------------------------------------------
608 
609 extern void
610 XMP_PUBLIC WXMPMeta_SetDefaultErrorCallback_1 ( XMPMeta_ErrorCallbackWrapper wrapperProc,
611 									 XMPMeta_ErrorCallbackProc    clientProc,
612 									 void *        context,
613 									 XMP_Uns32     limit,
614                    					 WXMP_Result * wResult );
615 
616 extern void
617 XMP_PUBLIC WXMPMeta_SetErrorCallback_1 ( XMPMetaRef    xmpRef,
618                               XMPMeta_ErrorCallbackWrapper wrapperProc,
619 							  XMPMeta_ErrorCallbackProc    clientProc,
620 							  void *        context,
621 							  XMP_Uns32     limit,
622 							  WXMP_Result * wResult );
623 
624 extern void
625 XMP_PUBLIC WXMPMeta_ResetErrorCallbackLimit_1 ( XMPMetaRef    xmpRef,
626 							  		 XMP_Uns32     limit,
627 							  		 WXMP_Result * wResult );
628 
629 // =================================================================================================
630 
631 #if __cplusplus
632 } /* extern "C" */
633 #endif
634 
635 #endif  // __WXMPMeta_hpp__
636