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