summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/API/TXMPFiles_8hpp-source.html247
-rw-r--r--docs/API/TXMPFiles_8hpp.html83
-rw-r--r--docs/API/TXMPFiles_8incl__cpp.html81
-rw-r--r--docs/API/TXMPFiles_8incl__cpp__incl.pngbin0 -> 4591 bytes
-rw-r--r--docs/API/TXMPIterator_8hpp-source.html148
-rw-r--r--docs/API/TXMPIterator_8hpp.html86
-rw-r--r--docs/API/TXMPIterator_8hpp__incl.pngbin0 -> 3612 bytes
-rw-r--r--docs/API/TXMPIterator_8incl__cpp.html82
-rw-r--r--docs/API/TXMPIterator_8incl__cpp__incl.pngbin0 -> 5164 bytes
-rw-r--r--docs/API/TXMPMeta_8hpp-source.html600
-rw-r--r--docs/API/TXMPMeta_8hpp.html79
-rw-r--r--docs/API/TXMPMeta_8incl__cpp.html82
-rw-r--r--docs/API/TXMPMeta_8incl__cpp__incl.pngbin0 -> 4976 bytes
-rw-r--r--docs/API/TXMPUtils_8hpp-source.html348
-rw-r--r--docs/API/TXMPUtils_8hpp.html78
-rw-r--r--docs/API/TXMPUtils_8incl__cpp.html82
-rw-r--r--docs/API/TXMPUtils_8incl__cpp__incl.pngbin0 -> 4915 bytes
-rw-r--r--docs/API/XMP_8incl__cpp.html84
-rw-r--r--docs/API/XMP_8incl__cpp__incl.pngbin0 -> 2138 bytes
-rw-r--r--docs/API/XMP__Const_8h-source.html814
-rw-r--r--docs/API/XMP__Const_8h.html2384
-rw-r--r--docs/API/XMP__Const_8h__incl.pngbin0 -> 3544 bytes
-rw-r--r--docs/API/annotated.html81
-rw-r--r--docs/API/classTXMPFiles-members.html99
-rw-r--r--docs/API/classTXMPFiles.html1191
-rw-r--r--docs/API/classTXMPIterator-members.html80
-rw-r--r--docs/API/classTXMPIterator.html452
-rw-r--r--docs/API/classTXMPMeta-members.html (renamed from docs/XMPToolkit/classTXMPMeta-members.html)112
-rw-r--r--docs/API/classTXMPMeta.html3610
-rw-r--r--docs/API/classTXMPUtils-members.html (renamed from docs/XMPToolkit/classTXMPUtils-members.html)85
-rw-r--r--docs/API/classTXMPUtils.html2116
-rw-r--r--docs/API/classXMP__Error-members.html76
-rw-r--r--docs/API/classXMP__Error.html156
-rw-r--r--docs/API/closed.gifbin0 -> 57 bytes
-rw-r--r--docs/API/doxygen.png (renamed from docs/XMPToolkit/doxygen.png)bin1281 -> 1281 bytes
-rw-r--r--docs/API/files.html82
-rw-r--r--docs/API/functions.html441
-rw-r--r--docs/API/functions_func.html (renamed from docs/XMPToolkit/functions.html)212
-rw-r--r--docs/API/functions_vars.html199
-rw-r--r--docs/API/globals.html504
-rw-r--r--docs/API/globals_0x78.html160
-rw-r--r--docs/API/globals_defs.html194
-rw-r--r--docs/API/globals_eval.html447
-rw-r--r--docs/API/globals_type.html106
-rw-r--r--docs/API/graph_legend.dot23
-rw-r--r--docs/API/graph_legend.html (renamed from docs/XMPToolkit/graph_legend.html)77
-rw-r--r--docs/API/graph_legend.pngbin0 -> 8506 bytes
-rw-r--r--docs/API/index.html178
-rw-r--r--docs/API/open.gifbin0 -> 54 bytes
-rw-r--r--docs/API/structXMP__DateTime-members.html81
-rw-r--r--docs/API/structXMP__DateTime.html145
-rw-r--r--docs/API/structXMP__PacketInfo-members.html79
-rw-r--r--docs/API/structXMP__PacketInfo.html117
-rw-r--r--docs/API/structXMP__ThumbnailInfo-members.html80
-rw-r--r--docs/API/structXMP__ThumbnailInfo.html121
-rw-r--r--docs/API/structXMP__VersionInfo-members.html78
-rw-r--r--docs/API/structXMP__VersionInfo.html112
-rw-r--r--docs/API/tab_b.gif (renamed from docs/XMPToolkit/tab_b.gif)bin35 -> 35 bytes
-rw-r--r--docs/API/tab_l.gif (renamed from docs/XMPToolkit/tab_l.gif)bin706 -> 706 bytes
-rw-r--r--docs/API/tab_r.gif (renamed from docs/XMPToolkit/tab_r.gif)bin2585 -> 2585 bytes
-rw-r--r--docs/API/tabs.css (renamed from docs/XMPToolkit/tabs.css)6
-rw-r--r--docs/API/xmp.css (renamed from docs/XMPToolkit/doxygen.css)269
-rwxr-xr-xdocs/API/xmp_tagline_small.jpgbin0 -> 27209 bytes
-rw-r--r--docs/BSD-License.txt25
-rw-r--r--docs/XMP-SDK-Overview.pdfbin56191 -> 0 bytes
-rw-r--r--docs/XMP-Specification.pdfbin931213 -> 0 bytes
-rw-r--r--docs/XMPProgrammersGuide.pdfbin0 -> 1017908 bytes
-rw-r--r--docs/XMPSpecificationPart1.pdfbin0 -> 383892 bytes
-rw-r--r--docs/XMPSpecificationPart2.pdfbin0 -> 481028 bytes
-rw-r--r--docs/XMPSpecificationPart3.pdfbin0 -> 644542 bytes
-rw-r--r--docs/XMPToolkit/TXMPFiles_8hpp-source.html162
-rw-r--r--docs/XMPToolkit/TXMPFiles_8hpp.html34
-rw-r--r--docs/XMPToolkit/TXMPFiles_8incl__cpp.html32
-rw-r--r--docs/XMPToolkit/TXMPFiles_8incl__cpp__incl.pngbin1604 -> 0 bytes
-rw-r--r--docs/XMPToolkit/TXMPIterator_8hpp-source.html104
-rw-r--r--docs/XMPToolkit/TXMPIterator_8hpp.html37
-rw-r--r--docs/XMPToolkit/TXMPIterator_8hpp__incl.pngbin1125 -> 0 bytes
-rw-r--r--docs/XMPToolkit/TXMPIterator_8incl__cpp.html33
-rw-r--r--docs/XMPToolkit/TXMPIterator_8incl__cpp__incl.pngbin2105 -> 0 bytes
-rw-r--r--docs/XMPToolkit/TXMPMeta_8hpp-source.html617
-rw-r--r--docs/XMPToolkit/TXMPMeta_8hpp.html33
-rw-r--r--docs/XMPToolkit/TXMPMeta_8incl__cpp.html33
-rw-r--r--docs/XMPToolkit/TXMPMeta_8incl__cpp__incl.pngbin2068 -> 0 bytes
-rw-r--r--docs/XMPToolkit/TXMPUtils_8hpp-source.html360
-rw-r--r--docs/XMPToolkit/TXMPUtils_8hpp.html33
-rw-r--r--docs/XMPToolkit/TXMPUtils_8incl__cpp.html33
-rw-r--r--docs/XMPToolkit/TXMPUtils_8incl__cpp__incl.pngbin2101 -> 0 bytes
-rw-r--r--docs/XMPToolkit/XMP_8incl__cpp.html35
-rw-r--r--docs/XMPToolkit/XMP_8incl__cpp__incl.pngbin691 -> 0 bytes
-rw-r--r--docs/XMPToolkit/XMP__Const_8h-source.html661
-rw-r--r--docs/XMPToolkit/XMP__Const_8h.html190
-rw-r--r--docs/XMPToolkit/XMP__Const_8h__incl.pngbin1243 -> 0 bytes
-rw-r--r--docs/XMPToolkit/annotated.html31
-rw-r--r--docs/XMPToolkit/classTXMPFiles-members.html40
-rw-r--r--docs/XMPToolkit/classTXMPFiles.html527
-rw-r--r--docs/XMPToolkit/classTXMPIterator-members.html32
-rw-r--r--docs/XMPToolkit/classTXMPIterator.html328
-rw-r--r--docs/XMPToolkit/classTXMPMeta.html2781
-rw-r--r--docs/XMPToolkit/classTXMPUtils.html1540
-rw-r--r--docs/XMPToolkit/files.html31
-rw-r--r--docs/XMPToolkit/functions_func.html281
-rw-r--r--docs/XMPToolkit/graph_legend.dot22
-rw-r--r--docs/XMPToolkit/graph_legend.pngbin4256 -> 0 bytes
-rw-r--r--docs/XMPToolkit/group__Transition.html259
-rw-r--r--docs/XMPToolkit/index.html112
-rw-r--r--docs/XMPToolkit/modules.html22
-rw-r--r--docs/XMPToolkit/structXMP__DateTime-members.html25
-rw-r--r--docs/XMPToolkit/structXMP__DateTime.html59
108 files changed, 16831 insertions, 8728 deletions
diff --git a/docs/API/TXMPFiles_8hpp-source.html b/docs/API/TXMPFiles_8hpp-source.html
new file mode 100644
index 0000000..af12992
--- /dev/null
+++ b/docs/API/TXMPFiles_8hpp-source.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPFiles.hpp</h1><a href="TXMPFiles_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPFiles_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPFiles_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2007 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00033"></a>00033 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="comment">// =================================================================================================</span>
+<a name="l00058"></a>00058 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt;
+<a name="l00062"></a><a class="code" href="classTXMPFiles.html">00062</a> <span class="keyword">class </span><a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">public</span>:
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// =============================================================================================</span>
+<a name="l00071"></a>00071 <span class="comment"></span>
+<a name="l00072"></a>00072 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00079"></a>00079 <span class="comment"></span>
+<a name="l00080"></a>00080 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * versionInfo );
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00091"></a>00091 <span class="comment"></span>
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a>();
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00110"></a>00110 <span class="comment"></span>
+<a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00120"></a>00120 <span class="comment"></span>
+<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8" title="Terminates use of the XMPFiles library.">Terminate</a>();
+<a name="l00122"></a>00122
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// =============================================================================================</span>
+<a name="l00131"></a>00131 <span class="comment"></span>
+<a name="l00132"></a>00132 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00134"></a>00134 <span class="comment"></span>
+<a name="l00135"></a>00135 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a>();
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00143"></a>00143 <span class="comment"></span>
+<a name="l00144"></a>00144 <span class="keyword">virtual</span> <a class="code" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739" title="Destructor; typical virtual destructor.">~TXMPFiles</a>() <span class="keywordflow">throw</span>();
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00169"></a>00169 <span class="comment"></span>
+<a name="l00170"></a>00170 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
+<a name="l00171"></a>00171 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00172"></a>00172 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00180"></a>00180 <span class="comment"></span>
+<a name="l00181"></a>00181 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
+<a name="l00182"></a>00182 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00183"></a>00183 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00193"></a>00193 <span class="comment"></span>
+<a name="l00194"></a>00194 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00202"></a>00202 <span class="comment"></span>
+<a name="l00203"></a>00203 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81" title="Assignment operator.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00216"></a>00216 <span class="comment"></span>
+<a name="l00217"></a>00217 <a class="code" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54" title="Default constructor initializes an object that is associated with no file.">TXMPFiles</a> ( <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj );
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00230"></a>00230 <span class="comment"></span>
+<a name="l00231"></a>00231 <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="code" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef</a>();
+<a name="l00232"></a>00232
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="comment">// =============================================================================================</span>
+<a name="l00241"></a>00241 <span class="comment"></span>
+<a name="l00242"></a>00242 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00273"></a>00273 <span class="comment"></span>
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo</a> ( <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format,
+<a name="l00276"></a>00276 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
+<a name="l00277"></a>00277
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280 <span class="comment">// =============================================================================================</span>
+<a name="l00285"></a>00285 <span class="comment"></span>
+<a name="l00286"></a>00286 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00296"></a>00296 <span class="comment"></span>
+<a name="l00297"></a>00297 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath );
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00313"></a>00313 <span class="comment"></span>
+<a name="l00314"></a>00314 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> <a class="code" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &amp;quot;package&amp;quot; folder...">CheckPackageFormat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> folderPath );
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00371"></a>00371 <span class="comment"></span>
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> filePath,
+<a name="l00374"></a>00374 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00375"></a>00375 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00376"></a>00376
+<a name="l00377"></a>00377 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00382"></a>00382 <span class="comment"></span>
+<a name="l00383"></a>00383 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile</a> ( <span class="keyword">const</span> tStringObj &amp; filePath,
+<a name="l00384"></a>00384 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> format = <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>,
+<a name="l00385"></a>00385 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> openFlags = 0 );
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00408"></a>00408 <span class="comment"></span>
+<a name="l00409"></a>00409 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> closeFlags = 0 );
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00428"></a>00428 <span class="comment"></span>
+<a name="l00429"></a>00429 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo</a> ( tStringObj * filePath = 0,
+<a name="l00430"></a>00430 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * openFlags = 0,
+<a name="l00431"></a>00431 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a> * format = 0,
+<a name="l00432"></a>00432 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * handlerFlags = 0 );
+<a name="l00433"></a>00433
+<a name="l00434"></a>00434 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00444"></a>00444 <span class="comment"></span>
+<a name="l00445"></a>00445 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc</a> ( <a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc,
+<a name="l00446"></a>00446 <span class="keywordtype">void</span> * abortArg );
+<a name="l00447"></a>00447
+<a name="l00449"></a>00449
+<a name="l00450"></a>00450 <span class="comment">// =============================================================================================</span>
+<a name="l00457"></a>00457 <span class="comment"></span>
+<a name="l00458"></a>00458 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00485"></a>00485 <span class="comment"></span>
+<a name="l00486"></a>00486 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP</a> ( SXMPMeta * xmpObj = 0,
+<a name="l00487"></a>00487 tStringObj * xmpPacket = 0,
+<a name="l00488"></a>00488 <a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> * packetInfo = 0 );
+<a name="l00489"></a>00489
+<a name="l00490"></a>00490 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00521"></a>00521 <span class="comment"></span>
+<a name="l00522"></a>00522 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail</a> ( <a class="code" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> * tnailInfo );
+<a name="l00523"></a>00523
+<a name="l00524"></a>00524 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00532"></a>00532 <span class="comment"></span>
+<a name="l00533"></a>00533 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
+<a name="l00534"></a>00534
+<a name="l00535"></a>00535 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00543"></a>00543 <span class="comment"></span>
+<a name="l00544"></a>00544 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
+<a name="l00545"></a>00545
+<a name="l00546"></a>00546 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00557"></a>00557 <span class="comment"></span>
+<a name="l00558"></a>00558 <span class="keywordtype">void</span> <a class="code" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
+<a name="l00559"></a>00559 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
+<a name="l00560"></a>00560
+<a name="l00561"></a>00561 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00595"></a>00595 <span class="comment"></span>
+<a name="l00596"></a>00596 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> SXMPMeta &amp; xmpObj );
+<a name="l00597"></a>00597
+<a name="l00598"></a>00598 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00606"></a>00606 <span class="comment"></span>
+<a name="l00607"></a>00607 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <span class="keyword">const</span> tStringObj &amp; xmpPacket );
+<a name="l00608"></a>00608
+<a name="l00609"></a>00609 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00620"></a>00620 <span class="comment"></span>
+<a name="l00621"></a>00621 <span class="keywordtype">bool</span> <a class="code" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> xmpPacket,
+<a name="l00622"></a>00622 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpLength = <a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab" title="Options macro sets string style.">kXMP_UseNullTermination</a> );
+<a name="l00623"></a>00623
+<a name="l00625"></a>00625
+<a name="l00626"></a>00626 <span class="comment">// =============================================================================================</span>
+<a name="l00627"></a>00627
+<a name="l00628"></a>00628 <span class="keyword">private</span>:
+<a name="l00629"></a>00629 <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesRef;
+<a name="l00630"></a>00630
+<a name="l00631"></a>00631 }; <span class="comment">// class TXMPFiles</span>
+<a name="l00632"></a>00632
+<a name="l00633"></a>00633 <span class="comment">// =================================================================================================</span>
+<a name="l00634"></a>00634
+<a name="l00635"></a>00635 <span class="preprocessor">#endif // __TXMPFiles_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPFiles_8hpp.html b/docs/API/TXMPFiles_8hpp.html
new file mode 100644
index 0000000..5a4fdc5
--- /dev/null
+++ b/docs/API/TXMPFiles_8hpp.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.hpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPFiles.hpp File Reference</h1>API for access to the main (document-level) metadata in a file_. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="TXMPFiles_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the main (document-level) metadata in a file. <a href="classTXMPFiles.html#_details">More...</a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+API for access to the main (document-level) metadata in a file_.
+<p>
+The Adobe XMP Toolkit's file handling component, XMPFiles, is a front end to a set of format-specific file handlers that support file I/O for XMP. The file handlers implement smart, efficient support for those file formats for which the means to embed XMP is defined in the XMP Specification. Where possible, this support allows: <ul>
+<li>Injection of XMP where none currently exists </li>
+<li>Expansion of XMP without regard to existing padding </li>
+<li>Reconciliation of the XMP and other legacy forms of metadata.</li>
+</ul>
+<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is designed for use by clients interested in the metadata and not in the primary file content; the Adobe Bridge application is a typical example. <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is not intended to be appropriate for files authored by an application; that is, those files for which the application has explicit knowledge of the file format. </div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPFiles_8incl__cpp.html b/docs/API/TXMPFiles_8incl__cpp.html
new file mode 100644
index 0000000..e55c332
--- /dev/null
+++ b/docs/API/TXMPFiles_8incl__cpp.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles.incl_cpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPFiles.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMPFiles.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for TXMPFiles.incl_cpp:</div>
+<div class="dynsection">
+<p><center><img src="TXMPFiles_8incl__cpp__incl.png" border="0" usemap="#TXMPFiles.incl_cpp_map" alt=""></center>
+</div>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The implementation of the <a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a> template class.
+<p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPFiles_8incl__cpp__incl.png b/docs/API/TXMPFiles_8incl__cpp__incl.png
new file mode 100644
index 0000000..496eb80
--- /dev/null
+++ b/docs/API/TXMPFiles_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/TXMPIterator_8hpp-source.html b/docs/API/TXMPIterator_8hpp-source.html
new file mode 100644
index 0000000..b9bda84
--- /dev/null
+++ b/docs/API/TXMPIterator_8hpp-source.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPIterator.hpp</h1><a href="TXMPIterator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPIterator_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPIterator_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2007 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00024"></a>00024 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="comment">// =================================================================================================</span>
+<a name="l00077"></a>00077 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="preprocessor">#include "client-glue/WXMPIterator.hpp"</span>
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="classTXMPIterator.html">00081</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> {
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">public</span>:
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00092"></a>00092 <span class="comment"></span>
+<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63" title="Assignment operator, assigns the internal ref and increments the ref count.">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00101"></a>00101 <span class="comment"></span>
+<a name="l00102"></a>00102 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00127"></a>00127 <span class="comment"></span>
+<a name="l00128"></a>00128 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00129"></a>00129 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00130"></a>00130 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00131"></a>00131 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00152"></a>00152 <span class="comment"></span>
+<a name="l00153"></a>00153 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00154"></a>00154 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00155"></a>00155 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00173"></a>00173 <span class="comment"></span>
+<a name="l00174"></a>00174 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00175"></a>00175 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00179"></a>00179 <span class="comment"></span>
+<a name="l00180"></a>00180 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00181"></a>00181 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00182"></a>00182 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00186"></a>00186 <span class="comment"></span>
+<a name="l00187"></a>00187 <span class="keyword">virtual</span> <a class="code" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196" title="Destructor, typical virtual destructor.">~TXMPIterator</a>() <span class="keywordflow">throw</span>();
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00209"></a>00209 <span class="comment"></span>
+<a name="l00210"></a>00210 <span class="keywordtype">bool</span> <a class="code" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next</a> ( tStringObj * schemaNS = 0,
+<a name="l00211"></a>00211 tStringObj * propPath = 0,
+<a name="l00212"></a>00212 tStringObj * propValue = 0,
+<a name="l00213"></a>00213 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options = 0 );
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00222"></a>00222 <span class="comment"></span>
+<a name="l00223"></a>00223 <span class="keywordtype">void</span> <a class="code" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 <span class="keyword">private</span>:
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 <a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a> iterRef;
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>(); <span class="comment">// ! Hidden, must choose property or table iteration.</span>
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 }; <span class="comment">// class TXMPIterator</span>
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 <span class="comment">// =================================================================================================</span>
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="preprocessor">#endif // __TXMPIterator_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPIterator_8hpp.html b/docs/API/TXMPIterator_8hpp.html
new file mode 100644
index 0000000..e525f5e
--- /dev/null
+++ b/docs/API/TXMPIterator_8hpp.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.hpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPIterator.hpp File Reference</h1>API for access to the XMP Toolkit iteration services. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;client-glue/WXMPIterator.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for TXMPIterator.hpp:</div>
+<div class="dynsection">
+<p><center><img src="TXMPIterator_8hpp__incl.png" border="0" usemap="#TXMPIterator.hpp_map" alt=""></center>
+</div>
+
+<p>
+<a href="TXMPIterator_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit iteration services. <a href="classTXMPIterator.html#_details">More...</a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+API for access to the XMP Toolkit iteration services.
+<p>
+<code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is the template class providing iteration services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPIterator_8hpp__incl.png b/docs/API/TXMPIterator_8hpp__incl.png
new file mode 100644
index 0000000..5ce4819
--- /dev/null
+++ b/docs/API/TXMPIterator_8hpp__incl.png
Binary files differ
diff --git a/docs/API/TXMPIterator_8incl__cpp.html b/docs/API/TXMPIterator_8incl__cpp.html
new file mode 100644
index 0000000..d113590
--- /dev/null
+++ b/docs/API/TXMPIterator_8incl__cpp.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator.incl_cpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPIterator.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;XMP.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMPIterator.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for TXMPIterator.incl_cpp:</div>
+<div class="dynsection">
+<p><center><img src="TXMPIterator_8incl__cpp__incl.png" border="0" usemap="#TXMPIterator.incl_cpp_map" alt=""></center>
+</div>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The implementation of the <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> template class.
+<p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPIterator_8incl__cpp__incl.png b/docs/API/TXMPIterator_8incl__cpp__incl.png
new file mode 100644
index 0000000..fe10552
--- /dev/null
+++ b/docs/API/TXMPIterator_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/TXMPMeta_8hpp-source.html b/docs/API/TXMPMeta_8hpp-source.html
new file mode 100644
index 0000000..8e9aa91
--- /dev/null
+++ b/docs/API/TXMPMeta_8hpp-source.html
@@ -0,0 +1,600 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPMeta.hpp</h1><a href="TXMPMeta_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPMeta_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPMeta_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00027"></a>00027 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="comment">// =================================================================================================</span>
+<a name="l00042"></a>00042 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a>;
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="classTXMPMeta.html">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> {
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">public</span>:
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="comment">// =============================================================================================</span>
+<a name="l00054"></a>00054 <span class="comment">// Initialization and termination</span>
+<a name="l00055"></a>00055 <span class="comment">// ==============================</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00061"></a>00061 <span class="comment"></span>
+<a name="l00062"></a>00062 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00074"></a>00074 <span class="comment"></span>
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#5415cfc01a9cb8786939246571a23a9d" title="GetVersionInfo() retrieves runtime version information.">GetVersionInfo</a> ( <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> * info );
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00079"></a>00079 <span class="comment"></span>
+<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f1defbb73f919eae06456a655dea726c" title="Initialize() explicitly initializes the XMP Toolkit before use. */">Initialize</a>();
+<a name="l00089"></a>00089 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00095"></a>00095 <span class="comment"></span>
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#6c30fae26173167958b6f0da95a53865" title="Terminate() explicitly terminates usage of the XMP Toolkit.">Terminate</a>();
+<a name="l00097"></a>00097
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="comment">// =============================================================================================</span>
+<a name="l00101"></a>00101 <span class="comment">// Constuctors and destructor</span>
+<a name="l00102"></a>00102 <span class="comment">// =========================</span>
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00107"></a>00107 <span class="comment"></span>
+<a name="l00108"></a>00108 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00114"></a>00114 <span class="comment"></span> <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a>();
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00125"></a>00125 <span class="comment"></span>
+<a name="l00126"></a>00126 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; original );
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00133"></a>00133 <span class="comment"></span>
+<a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#4d5a601c9b77f6f6ab5f14e658de58ef" title="Assignment operator, assigns the internal reference and increments the reference...">operator= </a>( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; rhs );
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00146"></a>00146 <span class="comment"></span>
+<a name="l00147"></a>00147 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef );
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00166"></a>00166 <span class="comment"></span>
+<a name="l00167"></a>00167 <a class="code" href="classTXMPMeta.html#61ffb3aa3e387d8ff9c1f4ebd26606c7" title="Default constructor, creates an empty object.">TXMPMeta</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
+<a name="l00168"></a>00168 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> xmpSize );
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00172"></a>00172 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classTXMPMeta.html#bab5013870cd47eb0d9d701653735a02" title="Destructor, typical virtual destructor. */.">~TXMPMeta</a>() <span class="keywordflow">throw</span>();
+<a name="l00173"></a>00173
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="comment">// =============================================================================================</span>
+<a name="l00177"></a>00177 <span class="comment">// Global state functions</span>
+<a name="l00178"></a>00178 <span class="comment">// ======================</span>
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00185"></a>00185 <span class="comment"></span>
+<a name="l00186"></a>00186 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00193"></a>00193 <span class="comment"></span>
+<a name="l00194"></a>00194 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#12b2435ba039c62a164951948c016eb4" title="GetGlobalOptions() retrieves the set of global option flags. There are none in this...">GetGlobalOptions</a>();
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00207"></a>00207 <span class="comment"></span>
+<a name="l00208"></a>00208 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#e7bb38d9b3857b08106630a386b47332" title="SetGlobalOptions() updates the set of global option flags. There are none in this...">SetGlobalOptions</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l00209"></a>00209
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00234"></a>00234 <span class="comment"></span>
+<a name="l00235"></a>00235 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#addc5f555de57472939a41346e276817" title="DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler...">DumpNamespaces</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
+<a name="l00236"></a>00236 <span class="keywordtype">void</span> * clientData );
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00251"></a>00251 <span class="comment"></span>
+<a name="l00252"></a>00252 <span class="keyword">static</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#c2e1bbfd6b9188afb730260808557512" title="DumpAliases() sends the list of registered aliases and corresponding actuals to a...">DumpAliases</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
+<a name="l00253"></a>00253 <span class="keywordtype">void</span> * clientData );
+<a name="l00254"></a>00254
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00268"></a>00268 <span class="comment"></span>
+<a name="l00269"></a>00269 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00290"></a>00290 <span class="comment"></span>
+<a name="l00291"></a>00291 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c0368ddbaa4d689cd5b1aff1c88bb0e1" title="RegisterNamespace() registers a namespace URI with a suggested prefix.">RegisterNamespace</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
+<a name="l00292"></a>00292 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> suggestedPrefix,
+<a name="l00293"></a>00293 tStringObj * registeredPrefix );
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00309"></a>00309 <span class="comment"></span>
+<a name="l00310"></a>00310 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f28589472d8c0397db6cef868f2b8c97" title="GetNamespacePrefix() obtains the prefix for a registered namespace URI, and reports...">GetNamespacePrefix</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI,
+<a name="l00311"></a>00311 tStringObj * namespacePrefix );
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00326"></a>00326 <span class="comment"></span>
+<a name="l00327"></a>00327 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#a20c84e7549d0a3252fa29a1e83a757a" title="GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports...">GetNamespaceURI</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespacePrefix,
+<a name="l00328"></a>00328 tStringObj * namespaceURI );
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00339"></a>00339 <span class="comment"></span>
+<a name="l00340"></a>00340 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#3f989597e95db929676273cacd4ea09a" title="Not implemented.">DeleteNamespace</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> namespaceURI );
+<a name="l00341"></a>00341
+<a name="l00343"></a>00343
+<a name="l00344"></a>00344 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00360"></a>00360 <span class="comment"></span>
+<a name="l00361"></a>00361 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00397"></a>00397 <span class="comment"></span>
+<a name="l00398"></a>00398 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c47027a765b6365e268f4de3e61b006a" title="RegisterAlias() associates an alias name with an actual name.">RegisterAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
+<a name="l00399"></a>00399 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp,
+<a name="l00400"></a>00400 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> actualNS,
+<a name="l00401"></a>00401 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> actualProp,
+<a name="l00402"></a>00402 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayForm = <a class="code" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b" title="Options macro clears all property-type bits.">kXMP_NoOptions</a> );
+<a name="l00403"></a>00403
+<a name="l00404"></a>00404 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00431"></a>00431 <span class="comment"></span>
+<a name="l00432"></a>00432 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c4b9c75202f2b961ad92f10a9e504e9a" title="ResolveAlias() reports whether a name is an alias, and what it is aliased to.">ResolveAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
+<a name="l00433"></a>00433 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp,
+<a name="l00434"></a>00434 tStringObj * actualNS,
+<a name="l00435"></a>00435 tStringObj * actualProp,
+<a name="l00436"></a>00436 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * arrayForm );
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00451"></a>00451 <span class="comment"></span>
+<a name="l00452"></a>00452 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#af64964e983235247ef65c86a42a4675" title="DeleteAlias() deletes an alias.">DeleteAlias</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasNS,
+<a name="l00453"></a>00453 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> aliasProp );
+<a name="l00454"></a>00454
+<a name="l00455"></a>00455 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00465"></a>00465 <span class="comment"></span>
+<a name="l00466"></a>00466 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b77cf73fa0cc63d845f113b3d1c83602" title="RegisterStandardAliases() registers all of the built-in aliases for a standard namespace...">RegisterStandardAliases</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS );
+<a name="l00467"></a>00467
+<a name="l00469"></a>00469
+<a name="l00470"></a>00470 <span class="comment">// =============================================================================================</span>
+<a name="l00471"></a>00471 <span class="comment">// Basic property manipulation functions</span>
+<a name="l00472"></a>00472 <span class="comment">// =====================================</span>
+<a name="l00473"></a>00473
+<a name="l00474"></a>00474 <span class="comment">// *** Should add discussion of schemaNS and propName prefix usage.</span>
+<a name="l00475"></a>00475
+<a name="l00476"></a>00476 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00491"></a>00491 <span class="comment"></span>
+<a name="l00492"></a>00492 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00523"></a>00523 <span class="comment"></span>
+<a name="l00524"></a>00524 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">GetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00525"></a>00525 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00526"></a>00526 tStringObj * propValue,
+<a name="l00527"></a>00527 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00528"></a>00528
+<a name="l00529"></a>00529 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00551"></a>00551 <span class="comment"></span>
+<a name="l00552"></a>00552 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#c64a4251d157937f69b73f2ffac4f7cc" title="GetArrayItem() provides access to items within an array.">GetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00553"></a>00553 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00554"></a>00554 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00555"></a>00555 tStringObj * itemValue,
+<a name="l00556"></a>00556 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00557"></a>00557
+<a name="l00558"></a>00558 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00583"></a>00583 <span class="comment"></span>
+<a name="l00584"></a>00584 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#885ef7127b897e349f71fa493ace3c94" title="GetStructField() provides access to fields within a nested structure.">GetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00585"></a>00585 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00586"></a>00586 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00587"></a>00587 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00588"></a>00588 tStringObj * fieldValue,
+<a name="l00589"></a>00589 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00590"></a>00590
+<a name="l00591"></a>00591 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00616"></a>00616 <span class="comment"></span>
+<a name="l00617"></a>00617 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#2cc58d8316043b035643e7c21633bc13" title="GetQualifier() provides access to a qualifier attached to a property.">GetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00618"></a>00618 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00619"></a>00619 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00620"></a>00620 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00621"></a>00621 tStringObj * qualValue,
+<a name="l00622"></a>00622 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l00623"></a>00623
+<a name="l00625"></a>00625
+<a name="l00626"></a>00626 <span class="comment">// =============================================================================================</span>
+<a name="l00627"></a>00627
+<a name="l00628"></a>00628 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00640"></a>00640 <span class="comment"></span>
+<a name="l00654"></a>00654
+<a name="l00655"></a>00655 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00672"></a>00672 <span class="comment"></span>
+<a name="l00673"></a>00673 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00674"></a>00674 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00675"></a>00675 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propValue,
+<a name="l00676"></a>00676 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00677"></a>00677
+<a name="l00678"></a>00678 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00683"></a>00683 <span class="comment"></span>
+<a name="l00684"></a>00684 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1dfd6a08ebfd1a6364b3a7b6584bcc28" title="SetProperty() creates or sets a property value.">SetProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00685"></a>00685 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00686"></a>00686 <span class="keyword">const</span> tStringObj &amp; propValue,
+<a name="l00687"></a>00687 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00688"></a>00688
+<a name="l00689"></a>00689 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00717"></a>00717 <span class="comment"></span>
+<a name="l00718"></a>00718 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00719"></a>00719 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00720"></a>00720 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00721"></a>00721 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l00722"></a>00722 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00723"></a>00723
+<a name="l00724"></a>00724 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00729"></a>00729 <span class="comment"></span>
+<a name="l00730"></a>00730 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#1570eb89d613b4a94ca572e4644168cc" title="SetArrayItem() creates or sets the value of an item within an array.">SetArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00731"></a>00731 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00732"></a>00732 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00733"></a>00733 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l00734"></a>00734 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00735"></a>00735
+<a name="l00736"></a>00736 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00762"></a>00762 <span class="comment"></span>
+<a name="l00763"></a>00763 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00764"></a>00764 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00765"></a>00765 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
+<a name="l00766"></a>00766 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l00767"></a>00767 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
+<a name="l00768"></a>00768
+<a name="l00769"></a>00769 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00775"></a>00775 <span class="comment"></span>
+<a name="l00776"></a>00776 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#00d7314dc970ad390499ce9db27d314a" title="AppendArrayItem() adds an item to an array, creating the array if necessary.">AppendArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00777"></a>00777 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00778"></a>00778 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> arrayOptions,
+<a name="l00779"></a>00779 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l00780"></a>00780 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> itemOptions = 0 );
+<a name="l00781"></a>00781
+<a name="l00782"></a>00782 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00807"></a>00807 <span class="comment"></span>
+<a name="l00808"></a>00808 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00809"></a>00809 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00810"></a>00810 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00811"></a>00811 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00812"></a>00812 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
+<a name="l00813"></a>00813 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00814"></a>00814
+<a name="l00815"></a>00815 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00821"></a>00821 <span class="comment"></span>
+<a name="l00822"></a>00822 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#0e44c30e7527064909e5f7035d53c4f5" title="SetStructField() creates or sets the value of a field within a nested structure.">SetStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00823"></a>00823 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00824"></a>00824 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00825"></a>00825 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00826"></a>00826 <span class="keyword">const</span> tStringObj &amp; fieldValue,
+<a name="l00827"></a>00827 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00828"></a>00828
+<a name="l00829"></a>00829 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00854"></a>00854 <span class="comment"></span>
+<a name="l00855"></a>00855 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00856"></a>00856 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00857"></a>00857 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00858"></a>00858 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00859"></a>00859 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualValue,
+<a name="l00860"></a>00860 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00861"></a>00861
+<a name="l00862"></a>00862 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00867"></a>00867 <span class="comment"></span>
+<a name="l00868"></a>00868 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c2e798da5f9d94e486382a41e73fcea3" title="SetQualifier() creates or sets a qualifier attached to a property.">SetQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00869"></a>00869 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00870"></a>00870 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00871"></a>00871 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00872"></a>00872 <span class="keyword">const</span> tStringObj &amp; qualValue,
+<a name="l00873"></a>00873 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00874"></a>00874
+<a name="l00876"></a>00876
+<a name="l00877"></a>00877 <span class="comment">// =============================================================================================</span>
+<a name="l00878"></a>00878
+<a name="l00879"></a>00879 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00885"></a>00885 <span class="comment"></span>
+<a name="l00886"></a>00886 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00894"></a>00894 <span class="comment"></span>
+<a name="l00895"></a>00895 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#c8b555ba99904fa49bb4851a60cc3844" title="DeleteProperty() deletes an XMP subtree rooted at a given property.">DeleteProperty</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00896"></a>00896 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName );
+<a name="l00897"></a>00897
+<a name="l00898"></a>00898 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00911"></a>00911 <span class="comment"></span>
+<a name="l00912"></a>00912 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#bc1211f47225b5973a170ff952743264" title="DeleteArrayItem() deletes an XMP subtree rooted at a given array item.">DeleteArrayItem</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00913"></a>00913 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00914"></a>00914 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex );
+<a name="l00915"></a>00915
+<a name="l00916"></a>00916 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00931"></a>00931 <span class="comment"></span>
+<a name="l00932"></a>00932 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#bc258e027780a15be65a88fcfd4e1fd4" title="DeleteStructField() deletes an XMP subtree rooted at a given struct field.">DeleteStructField</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00933"></a>00933 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00934"></a>00934 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00935"></a>00935 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName );
+<a name="l00936"></a>00936
+<a name="l00937"></a>00937 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00953"></a>00953 <span class="comment"></span>
+<a name="l00954"></a>00954 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#8ce15f7de7fd3b258f07158ab5fa88be" title="DeleteQualifier() deletes an XMP subtree rooted at a given qualifier.">DeleteQualifier</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00955"></a>00955 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00956"></a>00956 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00957"></a>00957 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName );
+<a name="l00958"></a>00958
+<a name="l00959"></a>00959 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00967"></a>00967 <span class="comment"></span>
+<a name="l00968"></a>00968 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#f22b116d71ecbbebea016ec5337e7066" title="DoesPropertyExist() reports whether a property currently exists.">DoesPropertyExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00969"></a>00969 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName ) <span class="keyword">const</span>;
+<a name="l00970"></a>00970
+<a name="l00971"></a>00971 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00985"></a>00985 <span class="comment"></span>
+<a name="l00986"></a>00986 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#492465c588d6d4cb8e30f94790e66f58" title="DoesArrayItemExist() reports whether an array item currently exists.">DoesArrayItemExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00987"></a>00987 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00988"></a>00988 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex ) <span class="keyword">const</span>;
+<a name="l00989"></a>00989
+<a name="l00990"></a>00990 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01007"></a>01007 <span class="comment"></span>
+<a name="l01008"></a>01008 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#9261b80d62e77a10ff1a89843bfa10a5" title="DoesStructFieldExist() reports whether a struct field currently exists.">DoesStructFieldExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01009"></a>01009 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l01010"></a>01010 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l01011"></a>01011 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName ) <span class="keyword">const</span>;
+<a name="l01012"></a>01012
+<a name="l01013"></a>01013 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01029"></a>01029 <span class="comment"></span>
+<a name="l01030"></a>01030 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#81347a92becd387a14f4d47c582f129a" title="DoesQualifierExist() reports whether a qualifier currently exists.">DoesQualifierExist</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01031"></a>01031 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01032"></a>01032 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l01033"></a>01033 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName ) <span class="keyword">const</span>;
+<a name="l01034"></a>01034
+<a name="l01036"></a>01036
+<a name="l01037"></a>01037 <span class="comment">// =============================================================================================</span>
+<a name="l01038"></a>01038 <span class="comment">// Specialized Get and Set functions</span>
+<a name="l01039"></a>01039 <span class="comment">// =============================================================================================</span>
+<a name="l01040"></a>01040
+<a name="l01041"></a>01041 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01050"></a>01050 <span class="comment"></span>
+<a name="l01051"></a>01051 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01070"></a>01070 <span class="comment"></span>
+<a name="l01071"></a>01071 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#dcf8a1959a8bd42641a42cbd4d64a5b7" title="GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool.">GetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01072"></a>01072 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01073"></a>01073 <span class="keywordtype">bool</span> * propValue,
+<a name="l01074"></a>01074 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01075"></a>01075
+<a name="l01076"></a>01076 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01095"></a>01095 <span class="comment"></span>
+<a name="l01096"></a>01096 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#3b6ba486c02607b544917091c43b05cc" title="GetProperty_Int() retrieves the value of an integer property as a C long integer...">GetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01097"></a>01097 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01098"></a>01098 <span class="keywordtype">long</span> * propValue,
+<a name="l01099"></a>01099 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01100"></a>01100
+<a name="l01101"></a>01101 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01120"></a>01120 <span class="comment"></span>
+<a name="l01121"></a>01121 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#669e0625cd271b6e7902fe0b51020402" title="GetProperty_Int64() retrieves the value of an integer property as a C long long integer...">GetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01122"></a>01122 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01123"></a>01123 <span class="keywordtype">long</span> <span class="keywordtype">long</span> * propValue,
+<a name="l01124"></a>01124 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01125"></a>01125
+<a name="l01126"></a>01126 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01145"></a>01145 <span class="comment"></span>
+<a name="l01146"></a>01146 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#7708c31c9af3e740b27a4893dcd9aa47" title="GetProperty_Float() retrieves the value of a floating-point property as a C double...">GetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01147"></a>01147 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01148"></a>01148 <span class="keywordtype">double</span> * propValue,
+<a name="l01149"></a>01149 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01150"></a>01150
+<a name="l01151"></a>01151 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01170"></a>01170 <span class="comment"></span>
+<a name="l01171"></a>01171 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#2f561295e73047ee90765558d29bd650" title="GetProperty_Date() retrieves the value of a date-time property as an XMP_DateTime...">GetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01172"></a>01172 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01173"></a>01173 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * propValue,
+<a name="l01174"></a>01174 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01175"></a>01175
+<a name="l01176"></a>01176 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01192"></a>01192 <span class="comment"></span>
+<a name="l01193"></a>01193 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#9521e3838272ec501ffdb60ff3eb482f" title="SetProperty_Bool() sets the value of a Boolean property using a C++ bool.">SetProperty_Bool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01194"></a>01194 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01195"></a>01195 <span class="keywordtype">bool</span> propValue,
+<a name="l01196"></a>01196 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01197"></a>01197
+<a name="l01198"></a>01198 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01214"></a>01214 <span class="comment"></span>
+<a name="l01215"></a>01215 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b8ae94130d9a05c1b9a3ee25588b6421" title="SetProperty_Int() sets the value of an integer property using a C long integer.">SetProperty_Int</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01216"></a>01216 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01217"></a>01217 <span class="keywordtype">long</span> propValue,
+<a name="l01218"></a>01218 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01219"></a>01219
+<a name="l01220"></a>01220 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01236"></a>01236 <span class="comment"></span>
+<a name="l01237"></a>01237 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#df919aff205e934e4c8250a067f7b377" title="SetProperty_Int64() sets the value of an integer property using a C long long integer...">SetProperty_Int64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01238"></a>01238 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01239"></a>01239 <span class="keywordtype">long</span> <span class="keywordtype">long</span> propValue,
+<a name="l01240"></a>01240 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01241"></a>01241
+<a name="l01242"></a>01242 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01258"></a>01258 <span class="comment"></span>
+<a name="l01259"></a>01259 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#3b0f2f6bae57931ea96775f03608c0ed" title="SetProperty_Float() sets the value of a floating-point property using a C double...">SetProperty_Float</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01260"></a>01260 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01261"></a>01261 <span class="keywordtype">double</span> propValue,
+<a name="l01262"></a>01262 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01263"></a>01263
+<a name="l01264"></a>01264 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01280"></a>01280 <span class="comment"></span>
+<a name="l01281"></a>01281 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#eee10669445f77139d5634199ff01079" title="SetProperty_Date() sets the value of a date/time property using an XMP_DateTime structure...">SetProperty_Date</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01282"></a>01282 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l01283"></a>01283 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; propValue,
+<a name="l01284"></a>01284 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01285"></a>01285
+<a name="l01287"></a>01287 <span class="comment">// =============================================================================================</span>
+<a name="l01326"></a>01326 <span class="comment"></span>
+<a name="l01327"></a>01327 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01368"></a>01368 <span class="comment"></span>
+<a name="l01369"></a>01369 <span class="keywordtype">bool</span> <a class="code" href="classTXMPMeta.html#eefe49bbf669770d769f4fe0ea566bd0" title="GetLocalizedText() retrieves information about a selected item in an alt-text array...">GetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01370"></a>01370 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01371"></a>01371 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01372"></a>01372 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01373"></a>01373 tStringObj * actualLang,
+<a name="l01374"></a>01374 tStringObj * itemValue,
+<a name="l01375"></a>01375 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> * options ) <span class="keyword">const</span>;
+<a name="l01376"></a>01376
+<a name="l01377"></a>01377 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01435"></a>01435 <span class="comment"></span>
+<a name="l01436"></a>01436 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01437"></a>01437 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01438"></a>01438 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01439"></a>01439 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01440"></a>01440 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> itemValue,
+<a name="l01441"></a>01441 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01442"></a>01442
+<a name="l01443"></a>01443 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01500"></a>01500 <span class="comment"></span>
+<a name="l01501"></a>01501 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#f9531b949a462f5663b1f3fd99464c19" title="SetLocalizedText() modifies the value of a selected item in an alt-text array.">SetLocalizedText</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01502"></a>01502 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> altTextName,
+<a name="l01503"></a>01503 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> genericLang,
+<a name="l01504"></a>01504 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> specificLang,
+<a name="l01505"></a>01505 <span class="keyword">const</span> tStringObj &amp; itemValue,
+<a name="l01506"></a>01506 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01507"></a>01507
+<a name="l01509"></a>01509
+<a name="l01510"></a>01510 <span class="comment">// =============================================================================================</span>
+<a name="l01522"></a>01522 <span class="comment"></span>
+<a name="l01523"></a>01523 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01547"></a>01547 <span class="comment"></span>
+<a name="l01548"></a>01548 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">ParseFromBuffer</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> buffer,
+<a name="l01549"></a>01549 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> bufferSize,
+<a name="l01550"></a>01550 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l01551"></a>01551
+<a name="l01552"></a>01552 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01595"></a>01595 <span class="comment"></span>
+<a name="l01596"></a>01596 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
+<a name="l01597"></a>01597 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l01598"></a>01598 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding,
+<a name="l01599"></a>01599 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> newline,
+<a name="l01600"></a>01600 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> indent = <span class="stringliteral">""</span>,
+<a name="l01601"></a>01601 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> baseIndent = 0 ) <span class="keyword">const</span>;
+<a name="l01602"></a>01602
+<a name="l01603"></a>01603 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01638"></a>01638 <span class="comment"></span>
+<a name="l01639"></a>01639 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">SerializeToBuffer</a> ( tStringObj * rdfString,
+<a name="l01640"></a>01640 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0,
+<a name="l01641"></a>01641 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> padding = 0 ) <span class="keyword">const</span>;
+<a name="l01642"></a>01642
+<a name="l01644"></a>01644 <span class="comment">// =============================================================================================</span>
+<a name="l01645"></a>01645 <span class="comment">// Miscellaneous Member Functions</span>
+<a name="l01646"></a>01646 <span class="comment">// ==============================</span>
+<a name="l01647"></a>01647
+<a name="l01648"></a>01648 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01651"></a>01651 <span class="comment"></span>
+<a name="l01652"></a>01652 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01684"></a>01684 <span class="comment"></span>
+<a name="l01685"></a>01685 <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> <a class="code" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">GetInternalRef</a>() <span class="keyword">const</span>;
+<a name="l01686"></a>01686
+<a name="l01687"></a>01687 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01693"></a>01693 <span class="comment"></span>
+<a name="l01694"></a>01694 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#b0d179ed95487d4fd4f2680c1fbe0d40" title="GetObjectName() retrieves the client-assigned name of this XMP object.">GetObjectName</a> ( tStringObj * name ) <span class="keyword">const</span>;
+<a name="l01695"></a>01695
+<a name="l01696"></a>01696 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01702"></a>01702 <span class="comment"></span>
+<a name="l01703"></a>01703 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> name );
+<a name="l01704"></a>01704
+<a name="l01705"></a>01705 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01711"></a>01711 <span class="comment"></span>
+<a name="l01712"></a>01712 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#cf1935be8e4849976dfc02325424960a" title="SetObjectName() assigns a name to this XMP object.">SetObjectName</a> ( tStringObj name );
+<a name="l01713"></a>01713
+<a name="l01714"></a>01714 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01725"></a>01725 <span class="comment"></span>
+<a name="l01726"></a>01726 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#8ac5a02a13d439ff33ed4431986da681" title="Sort() sorts the data model tree of an XMP object.">Sort</a>();
+<a name="l01727"></a>01727
+<a name="l01728"></a>01728 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01730"></a>01730 <span class="comment"></span>
+<a name="l01731"></a>01731 <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#df57895625ad118782ed48a3931848b7" title="Erase() restores the object to a &amp;quot;just constructed&amp;quot; state.">Erase</a>();
+<a name="l01732"></a>01732
+<a name="l01733"></a>01733 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01757"></a>01757 <span class="comment"></span>
+<a name="l01758"></a>01758 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> <a class="code" href="classTXMPMeta.html#6ca653436995bbb76315efe7934afd4c" title="Clone() creates a deep copy of an XMP object.">Clone</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 ) <span class="keyword">const</span>;
+<a name="l01759"></a>01759
+<a name="l01760"></a>01760 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01769"></a>01769 <span class="comment"></span>
+<a name="l01770"></a>01770 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> <a class="code" href="classTXMPMeta.html#b79aae864b3ce190d0699252f48e0acc" title="CountArrayItems() reports the number of items currently defined in an array.">CountArrayItems</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l01771"></a>01771 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName ) <span class="keyword">const</span>;
+<a name="l01772"></a>01772
+<a name="l01773"></a>01773 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01786"></a>01786 <span class="comment"></span>
+<a name="l01787"></a>01787 <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> <a class="code" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">DumpObject</a> ( <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> outProc,
+<a name="l01788"></a>01788 <span class="keywordtype">void</span> * clientData ) <span class="keyword">const</span>;
+<a name="l01789"></a>01789
+<a name="l01790"></a>01790 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01792"></a>01792 <span class="comment"></span> <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> <a class="code" href="classTXMPMeta.html#0bfc04142a35671a4c8989fcaca6d6c2" title="Not implemented.">GetObjectOptions</a>() <span class="keyword">const</span>;
+<a name="l01793"></a>01793
+<a name="l01794"></a>01794 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l01796"></a>01796 <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classTXMPMeta.html#92055b3ae18dfd5e5491108f59318f17" title="Not implemented.">SetObjectOptions</a> ( <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options );
+<a name="l01797"></a>01797
+<a name="l01799"></a>01799
+<a name="l01800"></a>01800 <span class="comment">// =============================================================================================</span>
+<a name="l01801"></a>01801
+<a name="l01802"></a>01802 <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> xmpRef; <span class="comment">// *** Should be private, see below.</span>
+<a name="l01803"></a>01803
+<a name="l01804"></a>01804 <span class="keyword">private</span>:
+<a name="l01805"></a>01805
+<a name="l01806"></a>01806 <span class="preprocessor">#if 0 // *** VS.Net and gcc seem to not handle the friend declarations properly.</span>
+<a name="l01807"></a>01807 <span class="preprocessor"></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> &lt;class tStringObj&gt;;
+<a name="l01808"></a>01808 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> &lt;class tStringObj&gt;;
+<a name="l01809"></a>01809 <span class="preprocessor">#endif</span>
+<a name="l01810"></a>01810 <span class="preprocessor"></span>
+<a name="l01811"></a>01811 }; <span class="comment">// class TXMPMeta</span>
+<a name="l01812"></a>01812
+<a name="l01813"></a>01813 <span class="preprocessor">#endif // __TXMPMeta_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPMeta_8hpp.html b/docs/API/TXMPMeta_8hpp.html
new file mode 100644
index 0000000..40ddaf7
--- /dev/null
+++ b/docs/API/TXMPMeta_8hpp.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.hpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPMeta.hpp File Reference</h1>API for access to the XMP Toolkit core services. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="TXMPMeta_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit core services. <a href="classTXMPMeta.html#_details">More...</a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+API for access to the XMP Toolkit core services.
+<p>
+<code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> is the template class providing the core services of the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.<p>
+Access these functions through the concrete class, <code>SXMPMeta</code>. </div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPMeta_8incl__cpp.html b/docs/API/TXMPMeta_8incl__cpp.html
new file mode 100644
index 0000000..9f7b502
--- /dev/null
+++ b/docs/API/TXMPMeta_8incl__cpp.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPMeta.incl_cpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPMeta.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;XMP.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMPMeta.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for TXMPMeta.incl_cpp:</div>
+<div class="dynsection">
+<p><center><img src="TXMPMeta_8incl__cpp__incl.png" border="0" usemap="#TXMPMeta.incl_cpp_map" alt=""></center>
+</div>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The implementation of the <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> template class.
+<p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPMeta_8incl__cpp__incl.png b/docs/API/TXMPMeta_8incl__cpp__incl.png
new file mode 100644
index 0000000..4c9cc3e
--- /dev/null
+++ b/docs/API/TXMPMeta_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/TXMPUtils_8hpp-source.html b/docs/API/TXMPUtils_8hpp-source.html
new file mode 100644
index 0000000..5a76a67
--- /dev/null
+++ b/docs/API/TXMPUtils_8hpp-source.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.hpp Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+<h1>TXMPUtils.hpp</h1><a href="TXMPUtils_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TXMPUtils_hpp__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TXMPUtils_hpp__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#if ( ! __XMP_hpp__ )</span>
+<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor"> #error "Do not directly include, use XMP.hpp"</span>
+<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00007"></a>00007 <span class="preprocessor"></span>
+<a name="l00008"></a>00008 <span class="comment">// =================================================================================================</span>
+<a name="l00009"></a>00009 <span class="comment">// ADOBE SYSTEMS INCORPORATED</span>
+<a name="l00010"></a>00010 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
+<a name="l00011"></a>00011 <span class="comment">// All Rights Reserved</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00014"></a>00014 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00015"></a>00015 <span class="comment">// =================================================================================================</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// =================================================================================================</span>
+<a name="l00024"></a>00024 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="comment">// =================================================================================================</span>
+<a name="l00047"></a>00047 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="classTXMPUtils.html">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">class</span> tStringObj&gt; <span class="keyword">class </span><a class="code" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> {
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">public</span>:
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="comment">// =============================================================================================</span>
+<a name="l00054"></a>00054 <span class="comment">// No constructors or destructor declared or needed</span>
+<a name="l00055"></a>00055 <span class="comment">// ================================================</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// ============================================================================================</span>
+<a name="l00092"></a>00092 <span class="comment"></span>
+<a name="l00093"></a>00093 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00109"></a>00109 <span class="comment"></span>
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#47fa195aa2e1457aa1f74f7e1ed06da6" title="ComposeArrayItemPath() composes the path expression for an item in an array.">ComposeArrayItemPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00111"></a>00111 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00112"></a>00112 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a> itemIndex,
+<a name="l00113"></a>00113 tStringObj * fullPath );
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00133"></a>00133 <span class="comment"></span>
+<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#706eb85b8401b8682a01348f7e25ee3d" title="ComposeStructFieldPath() composes the path expression for a field in a struct.">ComposeStructFieldPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00135"></a>00135 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> structName,
+<a name="l00136"></a>00136 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00137"></a>00137 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00138"></a>00138 tStringObj * fullPath );
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00159"></a>00159 <span class="comment"></span>
+<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#40ae0ce2065fcb71725e37137884e172" title="ComposeQualifierPath() composes the path expression for a qualifier.">ComposeQualifierPath</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00161"></a>00161 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName,
+<a name="l00162"></a>00162 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualNS,
+<a name="l00163"></a>00163 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> qualName,
+<a name="l00164"></a>00164 tStringObj * fullPath );
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00190"></a>00190 <span class="comment"></span>
+<a name="l00191"></a>00191 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00192"></a>00192 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00193"></a>00193 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> langName,
+<a name="l00194"></a>00194 tStringObj * fullPath );
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e4989e5c199a2a4287ee3ae89b872e69" title="ComposeLangSelector() composes the path expression to select an alternate item by...">ComposeLangSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00222"></a>00222 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00223"></a>00223 <span class="keyword">const</span> tStringObj &amp; langName,
+<a name="l00224"></a>00224 tStringObj * fullPath );
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00260"></a>00260 <span class="comment"></span>
+<a name="l00261"></a>00261 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00262"></a>00262 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00263"></a>00263 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00264"></a>00264 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00265"></a>00265 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldValue,
+<a name="l00266"></a>00266 tStringObj * fullPath );
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00302"></a>00302 <span class="comment"></span>
+<a name="l00303"></a>00303 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#458f8e8729e2334fe54ca8f691a9db23" title="ComposeFieldSelector() composes a path expression to select an alternate item by...">ComposeFieldSelector</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00304"></a>00304 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00305"></a>00305 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldNS,
+<a name="l00306"></a>00306 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> fieldName,
+<a name="l00307"></a>00307 <span class="keyword">const</span> tStringObj &amp; fieldValue,
+<a name="l00308"></a>00308 tStringObj * fullPath );
+<a name="l00309"></a>00309
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="comment">// =============================================================================================</span>
+<a name="l00324"></a>00324 <span class="comment"></span>
+<a name="l00325"></a>00325 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00334"></a>00334 <span class="comment"></span>
+<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#509691eb270988de6a770c9c8304ab6b" title="ConvertFromBool() converts a Boolean value to a string.">ConvertFromBool</a> ( <span class="keywordtype">bool</span> binValue,
+<a name="l00336"></a>00336 tStringObj * strValue );
+<a name="l00337"></a>00337
+<a name="l00338"></a>00338 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00346"></a>00346 <span class="comment"></span>
+<a name="l00347"></a>00347 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#eec45b4d1a26717290105c9f4e8b4235" title="ConvertFromInt() converts a 32-bit integer value to a string.">ConvertFromInt</a> ( <span class="keywordtype">long</span> binValue,
+<a name="l00348"></a>00348 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00349"></a>00349 tStringObj * strValue );
+<a name="l00350"></a>00350 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00358"></a>00358 <span class="comment"></span>
+<a name="l00359"></a>00359 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#eae4617e05358433015eaa80953c5e60" title="ConvertFromInt64() converts a 64-bit integer value to a string.">ConvertFromInt64</a> ( <span class="keywordtype">long</span> <span class="keywordtype">long</span> binValue,
+<a name="l00360"></a>00360 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00361"></a>00361 tStringObj * strValue );
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00371"></a>00371 <span class="comment"></span>
+<a name="l00372"></a>00372 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e67ef3931836432b7e574832f0610ed0" title="ConvertFromFloat() converts a floating-point value to a string.">ConvertFromFloat</a> ( <span class="keywordtype">double</span> binValue,
+<a name="l00373"></a>00373 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> format,
+<a name="l00374"></a>00374 tStringObj * strValue );
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00407"></a>00407 <span class="comment"></span>
+<a name="l00408"></a>00408 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6146a522a3974b4088d6e8241e9cd223" title="ConvertFromDate() converts a date/time value to a string.">ConvertFromDate</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; binValue,
+<a name="l00409"></a>00409 tStringObj * strValue );
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00421"></a>00421 <span class="comment"></span>
+<a name="l00422"></a>00422 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00423"></a>00423
+<a name="l00424"></a>00424 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00433"></a>00433 <span class="comment"></span>
+<a name="l00434"></a>00434 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTXMPUtils.html#aaaaadb23f4089daa795f50cba4f405c" title="ConvertToBool() converts a string to a Boolean value.">ConvertToBool</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00435"></a>00435
+<a name="l00436"></a>00436 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00442"></a>00442 <span class="comment"></span>
+<a name="l00443"></a>00443 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00444"></a>00444
+<a name="l00445"></a>00445 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00454"></a>00454 <span class="comment"></span>
+<a name="l00455"></a>00455 <span class="keyword">static</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#dfd9d1c522377d5db4ad667a7973ba00" title="ConvertToInt() converts a string to a 32-bit integer value.">ConvertToInt</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00463"></a>00463 <span class="comment"></span>
+<a name="l00464"></a>00464 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00465"></a>00465
+<a name="l00466"></a>00466 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00475"></a>00475 <span class="comment"></span>
+<a name="l00476"></a>00476 <span class="keyword">static</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classTXMPUtils.html#be5d2dcc03c5442202203bba5ca7b172" title="ConvertToInt64() converts a string to a 64-bit integer value.">ConvertToInt64</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00477"></a>00477
+<a name="l00478"></a>00478 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00484"></a>00484 <span class="comment"></span>
+<a name="l00485"></a>00485 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue );
+<a name="l00486"></a>00486
+<a name="l00487"></a>00487 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00496"></a>00496 <span class="comment"></span>
+<a name="l00497"></a>00497 <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classTXMPUtils.html#8a507b006286460814e0486c622d828c" title="ConvertToFloat() converts a string to a floating-point value.">ConvertToFloat</a> ( <span class="keyword">const</span> tStringObj &amp; strValue );
+<a name="l00498"></a>00498
+<a name="l00499"></a>00499 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00532"></a>00532 <span class="comment"></span>
+<a name="l00533"></a>00533 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> strValue,
+<a name="l00534"></a>00534 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
+<a name="l00535"></a>00535
+<a name="l00536"></a>00536 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00548"></a>00548 <span class="comment"></span>
+<a name="l00549"></a>00549 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#60d33e6ce30286028acca47b2b6e7a0b" title="ConvertToDate() converts a string to a date/time value.">ConvertToDate</a> ( <span class="keyword">const</span> tStringObj &amp; strValue,
+<a name="l00550"></a>00550 <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * binValue );
+<a name="l00551"></a>00551
+<a name="l00553"></a>00553
+<a name="l00554"></a>00554 <span class="comment">// =============================================================================================</span>
+<a name="l00560"></a>00560 <span class="comment"></span>
+<a name="l00561"></a>00561 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00569"></a>00569 <span class="comment"></span>
+<a name="l00570"></a>00570 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#c83f0b963ea64d7eee0b481e15a8439c" title="CurrentDateTime() obtains the current date and time.">CurrentDateTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00571"></a>00571
+<a name="l00572"></a>00572 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00578"></a>00578 <span class="comment"></span>
+<a name="l00579"></a>00579 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#96bcc45febac55f6c49951815b7de2ef" title="SetTimeZone() sets the time zone in a date/time value to the local time zone.">SetTimeZone</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00580"></a>00580
+<a name="l00581"></a>00581 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00588"></a>00588 <span class="comment"></span>
+<a name="l00589"></a>00589 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#bbd4d691c83287ea2fc6b1e33e5858b8" title="ConvertToUTCTime() ensures that a time is UTC.">ConvertToUTCTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00590"></a>00590
+<a name="l00591"></a>00591 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00598"></a>00598 <span class="comment"></span>
+<a name="l00599"></a>00599 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#61852aaba494c8fbad5a6c0c4caf21f5" title="ConvertToLocalTime() ensures that a time is local.">ConvertToLocalTime</a> ( <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> * time );
+<a name="l00600"></a>00600
+<a name="l00601"></a>00601 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00612"></a>00612 <span class="comment"></span>
+<a name="l00613"></a>00613 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTXMPUtils.html#9fc7f1771032f59f9020aeda4f91991d" title="CompareDateTime() compares the order of two date/time values.">CompareDateTime</a> ( <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; left,
+<a name="l00614"></a>00614 <span class="keyword">const</span> <a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> &amp; right );
+<a name="l00615"></a>00615
+<a name="l00617"></a>00617
+<a name="l00618"></a>00618 <span class="comment">// =============================================================================================</span>
+<a name="l00623"></a>00623 <span class="comment"></span>
+<a name="l00624"></a>00624 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00632"></a>00632 <span class="comment"></span>
+<a name="l00633"></a>00633 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> rawStr,
+<a name="l00634"></a>00634 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> rawLen,
+<a name="l00635"></a>00635 tStringObj * encodedStr );
+<a name="l00636"></a>00636
+<a name="l00637"></a>00637 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00646"></a>00646 <span class="comment"></span>
+<a name="l00647"></a>00647 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#ef3b23bbc152480f699e269620ecad4a" title="EncodeToBase64() converts a raw data value to a Base64-encoded string.">EncodeToBase64</a> ( <span class="keyword">const</span> tStringObj &amp; rawStr,
+<a name="l00648"></a>00648 tStringObj * encodedStr );
+<a name="l00649"></a>00649
+<a name="l00650"></a>00650 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00658"></a>00658 <span class="comment"></span>
+<a name="l00659"></a>00659 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> encodedStr,
+<a name="l00660"></a>00660 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a> encodedLen,
+<a name="l00661"></a>00661 tStringObj * rawStr );
+<a name="l00662"></a>00662
+<a name="l00663"></a>00663 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00672"></a>00672 <span class="comment"></span>
+<a name="l00673"></a>00673 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#e5bdd91c0c3ee9262dc0a8b9f591b921" title="DecodeFromBase64() Decodes a Base64-encoded string to raw data.">DecodeFromBase64</a> ( <span class="keyword">const</span> tStringObj &amp; encodedStr,
+<a name="l00674"></a>00674 tStringObj * rawStr );
+<a name="l00675"></a>00675
+<a name="l00677"></a>00677
+<a name="l00678"></a>00678 <span class="comment">// =============================================================================================</span>
+<a name="l00679"></a>00679 <span class="comment">// =============================================================================================</span>
+<a name="l00687"></a>00687 <span class="comment"></span>
+<a name="l00688"></a>00688 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00707"></a>00707 <span class="comment"></span>
+<a name="l00708"></a>00708 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6001b4ff54c60fdf0c40e6b78a5c457a" title="PackageForJPEG() creates XMP serializations appropriate for a JPEG file.">PackageForJPEG</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00709"></a>00709 tStringObj * standardXMP,
+<a name="l00710"></a>00710 tStringObj * extendedXMP,
+<a name="l00711"></a>00711 tStringObj * extendedDigest );
+<a name="l00712"></a>00712
+<a name="l00713"></a>00713 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00727"></a>00727 <span class="comment"></span>
+<a name="l00728"></a>00728 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#6187cd5fef0eccecac6805d4114dcd2e" title="MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file.">MergeFromJPEG</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * fullXMP,
+<a name="l00729"></a>00729 <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; extendedXMP );
+<a name="l00730"></a>00730
+<a name="l00732"></a>00732
+<a name="l00733"></a>00733 <span class="comment">// =============================================================================================</span>
+<a name="l00740"></a>00740 <span class="comment"></span>
+<a name="l00741"></a>00741 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00765"></a>00765 <span class="comment"></span>
+<a name="l00766"></a>00766 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">CatenateArrayItems</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; xmpObj,
+<a name="l00767"></a>00767 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00768"></a>00768 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00769"></a>00769 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> separator,
+<a name="l00770"></a>00770 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> quotes,
+<a name="l00771"></a>00771 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00772"></a>00772 tStringObj * catedStr );
+<a name="l00773"></a>00773
+<a name="l00774"></a>00774 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00792"></a>00792 <span class="comment"></span>
+<a name="l00793"></a>00793 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00794"></a>00794 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00795"></a>00795 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00796"></a>00796 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00797"></a>00797 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> catedStr );
+<a name="l00798"></a>00798
+<a name="l00799"></a>00799 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00805"></a>00805 <span class="comment"></span>
+<a name="l00806"></a>00806 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">SeparateArrayItems</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00807"></a>00807 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS,
+<a name="l00808"></a>00808 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> arrayName,
+<a name="l00809"></a>00809 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options,
+<a name="l00810"></a>00810 <span class="keyword">const</span> tStringObj &amp; catedStr );
+<a name="l00811"></a>00811
+<a name="l00812"></a>00812 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00843"></a>00843 <span class="comment"></span>
+<a name="l00844"></a>00844 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">RemoveProperties</a> ( <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * xmpObj,
+<a name="l00845"></a>00845 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> schemaNS = 0,
+<a name="l00846"></a>00846 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> propName = 0,
+<a name="l00847"></a>00847 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00848"></a>00848
+<a name="l00849"></a>00849 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00920"></a>00920 <span class="comment"></span>
+<a name="l00921"></a>00921 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">AppendProperties</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; source,
+<a name="l00922"></a>00922 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * dest,
+<a name="l00923"></a>00923 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00924"></a>00924
+<a name="l00925"></a>00925 <span class="comment">// ---------------------------------------------------------------------------------------------</span>
+<a name="l00946"></a>00946 <span class="comment"></span>
+<a name="l00947"></a>00947 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTXMPUtils.html#a17838f062e5414bc0929f67ac94a3aa" title="DuplicateSubtree() replicates a subtree from one XMP object into another.">DuplicateSubtree</a> ( <span class="keyword">const</span> <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> &amp; source,
+<a name="l00948"></a>00948 <a class="code" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta&lt;tStringObj&gt;</a> * dest,
+<a name="l00949"></a>00949 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceNS,
+<a name="l00950"></a>00950 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> sourceRoot,
+<a name="l00951"></a>00951 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destNS = 0,
+<a name="l00952"></a>00952 <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a> destRoot = 0,
+<a name="l00953"></a>00953 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a> options = 0 );
+<a name="l00954"></a>00954
+<a name="l00956"></a>00956
+<a name="l00957"></a>00957 <span class="comment">// =============================================================================================</span>
+<a name="l00958"></a>00958
+<a name="l00959"></a>00959 <span class="comment">// =============================================================================================</span>
+<a name="l00960"></a>00960
+<a name="l00961"></a>00961 }; <span class="comment">// class TXMPUtils</span>
+<a name="l00962"></a>00962
+<a name="l00963"></a>00963 <span class="comment">// =================================================================================================</span>
+<a name="l00964"></a>00964
+<a name="l00965"></a>00965 <span class="preprocessor">#endif // __TXMPUtils_hpp__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPUtils_8hpp.html b/docs/API/TXMPUtils_8hpp.html
new file mode 100644
index 0000000..5d966c5
--- /dev/null
+++ b/docs/API/TXMPUtils_8hpp.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.hpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPUtils.hpp File Reference</h1>API for access to the XMP Toolkit utility services. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="TXMPUtils_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">API for access to the XMP Toolkit utility services. <a href="classTXMPUtils.html#_details">More...</a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+API for access to the XMP Toolkit utility services.
+<p>
+<code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code> is the template class providing utility services for the XMP Toolkit. It must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. </div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPUtils_8incl__cpp.html b/docs/API/TXMPUtils_8incl__cpp.html
new file mode 100644
index 0000000..cbca67f
--- /dev/null
+++ b/docs/API/TXMPUtils_8incl__cpp.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPUtils.incl_cpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPUtils.incl_cpp File Reference</h1>The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;XMP.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMP_Common.hpp&quot;</code><br>
+<code>#include &quot;client-glue/WXMPUtils.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for TXMPUtils.incl_cpp:</div>
+<div class="dynsection">
+<p><center><img src="TXMPUtils_8incl__cpp__incl.png" border="0" usemap="#TXMPUtils.incl_cpp_map" alt=""></center>
+</div>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The implementation of the <a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a> template class.
+<p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/TXMPUtils_8incl__cpp__incl.png b/docs/API/TXMPUtils_8incl__cpp__incl.png
new file mode 100644
index 0000000..edcb7c4
--- /dev/null
+++ b/docs/API/TXMPUtils_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/XMP_8incl__cpp.html b/docs/API/XMP_8incl__cpp.html
new file mode 100644
index 0000000..6f70f9e
--- /dev/null
+++ b/docs/API/XMP_8incl__cpp.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: XMP.incl_cpp File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>XMP.incl_cpp File Reference</h1>Overall client glue file for the XMP toolkit. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;XMP.hpp&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for XMP.incl_cpp:</div>
+<div class="dynsection">
+<p><center><img src="XMP_8incl__cpp__incl.png" border="0" usemap="#XMP.incl_cpp_map" alt=""></center>
+</div>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Overall client glue file for the XMP toolkit.
+<p>
+This is an overall client source file of XMP toolkit glue, the only XMP-specific one that clients should build in projects. This ensures that all of the client-side glue code for the XMP toolkit gets compiled.<p>
+You cannot compile this file directly, because the template's string type must be declared and only the client can do that. Instead, include this in some other source file. For example, to use <code>std::string</code> you only need these two lines:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;string&gt;</span>
+<span class="preprocessor"> #include "<a class="code" href="XMP_8incl__cpp.html" title="Overall client glue file for the XMP toolkit.">XMP.incl_cpp</a>"</span>
+</pre></div> </div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/XMP_8incl__cpp__incl.png b/docs/API/XMP_8incl__cpp__incl.png
new file mode 100644
index 0000000..6f8ed4d
--- /dev/null
+++ b/docs/API/XMP_8incl__cpp__incl.png
Binary files differ
diff --git a/docs/API/XMP__Const_8h-source.html b/docs/API/XMP__Const_8h-source.html
new file mode 100644
index 0000000..e4ccf6e
--- /dev/null
+++ b/docs/API/XMP__Const_8h-source.html
@@ -0,0 +1,814 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: XMP_Const.h Source File</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+<h1>XMP_Const.h</h1><a href="XMP__Const_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __XMP_Const_h__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __XMP_Const_h__ 1</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="comment">// =================================================================================================</span>
+<a name="l00005"></a>00005 <span class="comment">// Copyright 2002-2008 Adobe Systems Incorporated</span>
+<a name="l00006"></a>00006 <span class="comment">// All Rights Reserved.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms</span>
+<a name="l00009"></a>00009 <span class="comment">// of the Adobe license agreement accompanying it.</span>
+<a name="l00010"></a>00010 <span class="comment">// =================================================================================================</span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include "XMP_Environment.h"</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor"> #include &lt;stddef.h&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#if XMP_MacBuild // ! No stdint.h on Windows and some UNIXes.</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;stdint.h&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#if __cplusplus</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00022"></a>00022 <span class="preprocessor">#endif</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span>
+<a name="l00024"></a>00024 <span class="comment">// =================================================================================================</span>
+<a name="l00027"></a>00027 <span class="comment"></span><span class="comment">// =================================================================================================</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="comment">// =================================================================================================</span>
+<a name="l00030"></a>00030 <span class="comment">// Basic types and constants</span>
+<a name="l00031"></a>00031 <span class="comment">// =========================</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// The XMP_... types are used on the off chance that the ..._t types present a problem. In that</span>
+<a name="l00034"></a>00034 <span class="comment">// case only the declarations of the XMP_... types needs to change, not all of the uses. These</span>
+<a name="l00035"></a>00035 <span class="comment">// types are used where fixed sizes are required in order to have a known ABI for a DLL build.</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#if XMP_MacBuild</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span>
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> int8_t XMP_Int8;
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> int16_t XMP_Int16;
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> int32_t XMP_Int32;
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> int64_t XMP_Int64;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> uint8_t XMP_Uns8;
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> uint16_t XMP_Uns16;
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> uint32_t XMP_Uns32;
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> uint64_t XMP_Uns64;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#else</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> XMP_Int8;
+<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> XMP_Int16;
+<a name="l00053"></a>00053 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> XMP_Int32;
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Int64;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> XMP_Uns8;
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> XMP_Uns16;
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> XMP_Uns32;
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> XMP_Uns64;
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063 <span class="keyword">typedef</span> XMP_Uns8 XMP_Bool;
+<a name="l00064"></a>00064
+<a name="l00067"></a><a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">00067</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPMeta__ * <a class="code" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a>;
+<a name="l00068"></a>00068
+<a name="l00071"></a><a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">00071</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPIterator__ * <a class="code" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a>;
+<a name="l00072"></a>00072
+<a name="l00075"></a><a class="code" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">00075</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPDocOps__ * <a class="code" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a>;
+<a name="l00076"></a>00076
+<a name="l00079"></a><a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">00079</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>__XMPFiles__ * <a class="code" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">// =================================================================================================</span>
+<a name="l00082"></a>00082
+<a name="l00085"></a>00085
+<a name="l00089"></a>00089
+<a name="l00093"></a>00093
+<a name="l00097"></a>00097
+<a name="l00104"></a>00104
+<a name="l00105"></a><a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">00105</a> <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6" title="The type for input string parameters. A const char *, a null-terminated UTF-8 string...">XMP_StringPtr</a>; <span class="comment">// Points to a null terminated UTF-8 string.</span>
+<a name="l00106"></a><a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">00106</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a" title="The type for string length parameters. A 32-bit unsigned integer, as big as will...">XMP_StringLen</a>;
+<a name="l00107"></a><a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">00107</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315" title="The type for offsets and indices. A 32-bit signed integer. It is signed to allow...">XMP_Index</a>; <span class="comment">// Signed, sometimes -1 is handy.</span>
+<a name="l00108"></a><a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">00108</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a>; <span class="comment">// Used as 32 individual bits.</span>
+<a name="l00109"></a>00109
+<a name="l00114"></a>00114
+<a name="l00119"></a>00119
+<a name="l00120"></a><a class="code" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">00120</a> <span class="preprocessor">#define kXMP_TrueStr "True" // Serialized XMP spellings, not for the type bool.</span>
+<a name="l00121"></a><a class="code" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">00121</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_FalseStr "False"</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span>
+<a name="l00125"></a>00125 <span class="keyword">enum</span> {
+<a name="l00127"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">00127</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e" title="The part or parts have definitely changed.">kXMPTS_Yes</a> = 1,
+<a name="l00129"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">00129</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90" title="The part or parts have definitely not changed.">kXMPTS_No</a> = 0,
+<a name="l00131"></a><a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">00131</a> <a class="code" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584" title="The part or parts might, or might not, have changed.">kXMPTS_Maybe</a> = -1
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> XMP_Int8 XMP_TriState;
+<a name="l00134"></a>00134
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// =================================================================================================</span>
+<a name="l00138"></a>00138
+<a name="l00158"></a>00158
+<a name="l00159"></a><a class="code" href="structXMP__DateTime.html">00159</a> <span class="keyword">struct </span><a class="code" href="structXMP__DateTime.html" title="The expanded type for a date and time.">XMP_DateTime</a> {
+<a name="l00160"></a>00160
+<a name="l00162"></a><a class="code" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad">00162</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#2db713deacfd5a5cb2deea660ca2ccad" title="The year, can be negative.">year</a>;
+<a name="l00163"></a>00163
+<a name="l00165"></a><a class="code" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f">00165</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#b4b71c1a54879d7da1b4135e23d5446f" title="The month in the range 1..12.">month</a>;
+<a name="l00166"></a>00166
+<a name="l00168"></a><a class="code" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094">00168</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#58496718277eea9dc5e3e19d80a69094" title="The day of the month in the range 1..31.">day</a>;
+<a name="l00169"></a>00169
+<a name="l00171"></a><a class="code" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f">00171</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#bc79cdca8cfa5df6583279e3f3e70e9f" title="The hour in the range 0..23.">hour</a>;
+<a name="l00172"></a>00172
+<a name="l00174"></a><a class="code" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf">00174</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#e84965f3296a9c106d1f6c88aa6a7bdf" title="The minute in the range 0..59.">minute</a>;
+<a name="l00175"></a>00175
+<a name="l00177"></a><a class="code" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b">00177</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#675313c70a7e05b7ca50d21300b7d81b" title="The second in the range 0..59.">second</a>;
+<a name="l00178"></a>00178
+<a name="l00181"></a><a class="code" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">00181</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">tzSign</a>;
+<a name="l00182"></a>00182
+<a name="l00184"></a><a class="code" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4">00184</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#6045133feeef41ac1f78c4664ab13db4" title="The time zone hour in the range 0..23.">tzHour</a>;
+<a name="l00185"></a>00185
+<a name="l00187"></a><a class="code" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1">00187</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#45baa70f30a3dc9f88819886cfb91aa1" title="The time zone minute in the range 0..59.">tzMinute</a>;
+<a name="l00188"></a>00188
+<a name="l00190"></a><a class="code" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c">00190</a> XMP_Int32 <a class="code" href="structXMP__DateTime.html#190c2a19f01e90997ec2973aec37712c" title="Nanoseconds within a second, often left as zero.">nanoSecond</a>;
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 };
+<a name="l00193"></a>00193
+<a name="l00195"></a>00195 <span class="keyword">enum</span> {
+<a name="l00197"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">00197</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801" title="Time zone is west of UTC.">kXMP_TimeWestOfUTC</a> = -1,
+<a name="l00199"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">00199</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13" title="UTC time.">kXMP_TimeIsUTC</a> = 0,
+<a name="l00201"></a><a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">00201</a> <a class="code" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec" title="Time zone is east of UTC.">kXMP_TimeEastOfUTC</a> = +1
+<a name="l00202"></a>00202 };
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="comment">// =================================================================================================</span>
+<a name="l00205"></a>00205 <span class="comment">// Standard namespace URI constants</span>
+<a name="l00206"></a>00206 <span class="comment">// ================================</span>
+<a name="l00207"></a>00207
+<a name="l00242"></a>00242
+<a name="l00243"></a><a class="code" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">00243</a> <span class="preprocessor">#define kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/"</span>
+<a name="l00244"></a>00244 <span class="preprocessor"></span>
+<a name="l00245"></a><a class="code" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">00245</a> <span class="preprocessor">#define kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/"</span>
+<a name="l00246"></a><a class="code" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">00246</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/"</span>
+<a name="l00247"></a><a class="code" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">00247</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/"</span>
+<a name="l00248"></a>00248 <span class="preprocessor"></span>
+<a name="l00249"></a><a class="code" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">00249</a> <span class="preprocessor">#define kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/"</span>
+<a name="l00250"></a><a class="code" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">00250</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/"</span>
+<a name="l00251"></a>00251 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/"</span>
+<a name="l00252"></a><a class="code" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">00252</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/"</span>
+<a name="l00253"></a>00253 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/"</span>
+<a name="l00254"></a><a class="code" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">00254</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/"</span>
+<a name="l00255"></a>00255 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PNG "http://ns.adobe.com/png/1.0/"</span>
+<a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/"</span>
+<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/"</span>
+<a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/"</span>
+<a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/"</span>
+<a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/"</span>
+<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/"</span>
+<a name="l00262"></a>00262 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/"</span>
+<a name="l00263"></a>00263 <span class="preprocessor"></span>
+<a name="l00264"></a>00264 <span class="preprocessor">#define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/"</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span>
+<a name="l00266"></a>00266 <span class="preprocessor">#define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/"</span>
+<a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_CreatorAtom "http://ns.adobe.com/creatorAtom/1.0/"</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span>
+<a name="l00294"></a>00294
+<a name="l00295"></a><a class="code" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">00295</a> <span class="preprocessor">#define kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/"</span>
+<a name="l00296"></a><a class="code" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">00296</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#"</span>
+<a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/"</span>
+<a name="l00298"></a>00298 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/"</span>
+<a name="l00299"></a>00299 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/"</span>
+<a name="l00300"></a><a class="code" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">00300</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/"</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#"</span>
+<a name="l00302"></a><a class="code" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">00302</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"</span>
+<a name="l00303"></a><a class="code" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">00303</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"</span>
+<a name="l00304"></a><a class="code" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">00304</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#"</span>
+<a name="l00305"></a><a class="code" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">00305</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#"</span>
+<a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"</span>
+<a name="l00307"></a>00307 <span class="preprocessor"></span>
+<a name="l00308"></a>00308 <span class="comment">// Deprecated XML namespace constants</span>
+<a name="l00309"></a><a class="code" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">00309</a> <span class="preprocessor">#define kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/"</span>
+<a name="l00310"></a><a class="code" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">00310</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/"</span>
+<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/"</span>
+<a name="l00312"></a>00312 <span class="preprocessor"></span>
+<a name="l00329"></a>00329
+<a name="l00330"></a><a class="code" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">00330</a> <span class="preprocessor">#define kXMP_NS_DC "http://purl.org/dc/elements/1.1/"</span>
+<a name="l00331"></a>00331 <span class="preprocessor"></span>
+<a name="l00332"></a><a class="code" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">00332</a> <span class="preprocessor">#define kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"</span>
+<a name="l00333"></a>00333 <span class="preprocessor"></span>
+<a name="l00334"></a>00334 <span class="preprocessor">#define kXMP_NS_DICOM "http://ns.adobe.com/DICOM/"</span>
+<a name="l00335"></a>00335 <span class="preprocessor"></span>
+<a name="l00336"></a>00336 <span class="preprocessor">#define kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#"</span>
+<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#"</span>
+<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#"</span>
+<a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#"</span>
+<a name="l00340"></a>00340 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/"</span>
+<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/"</span>
+<a name="l00342"></a>00342 <span class="preprocessor"></span>
+<a name="l00343"></a>00343 <span class="preprocessor">#define kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/"</span>
+<a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/"</span>
+<a name="l00345"></a>00345 <span class="preprocessor"></span>
+<a name="l00346"></a><a class="code" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">00346</a> <span class="preprocessor">#define kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span>
+<a name="l00347"></a><a class="code" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">00347</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NS_XML "http://www.w3.org/XML/1998/namespace"</span>
+<a name="l00348"></a>00348 <span class="preprocessor"></span>
+<a name="l00349"></a>00349 <span class="comment">// =================================================================================================</span>
+<a name="l00350"></a>00350 <span class="comment">// Enums and macros used for option bits</span>
+<a name="l00351"></a>00351 <span class="comment">// =====================================</span>
+<a name="l00352"></a>00352
+<a name="l00366"></a>00366
+<a name="l00367"></a><a class="code" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">00367</a> <span class="preprocessor">#define kXMP_ArrayLastItem ((XMP_Index)(-1L))</span>
+<a name="l00368"></a><a class="code" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">00368</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_UseNullTermination ((XMP_StringLen)(~0UL))</span>
+<a name="l00369"></a><a class="code" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">00369</a> <span class="preprocessor"></span><span class="preprocessor">#define kXMP_NoOptions ((XMP_OptionBits)0UL)</span>
+<a name="l00370"></a>00370 <span class="preprocessor"></span>
+<a name="l00403"></a>00403
+<a name="l00404"></a><a class="code" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">00404</a> <span class="preprocessor">#define XMP_SetOption(var,opt) var |= (opt)</span>
+<a name="l00405"></a><a class="code" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">00405</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ClearOption(var,opt) var &amp;= ~(opt)</span>
+<a name="l00406"></a><a class="code" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">00406</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_TestOption(var,opt) (((var) &amp; (opt)) != 0)</span>
+<a name="l00407"></a><a class="code" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">00407</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsSet(var,opt) (((var) &amp; (opt)) != 0)</span>
+<a name="l00408"></a><a class="code" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">00408</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_OptionIsClear(var,opt) (((var) &amp; (opt)) == 0)</span>
+<a name="l00409"></a>00409 <span class="preprocessor"></span>
+<a name="l00462"></a>00462
+<a name="l00463"></a><a class="code" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">00463</a> <span class="preprocessor">#define XMP_PropIsSimple(opt) (((opt) &amp; kXMP_PropCompositeMask) == 0)</span>
+<a name="l00464"></a><a class="code" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">00464</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsStruct(opt) (((opt) &amp; kXMP_PropValueIsStruct) != 0)</span>
+<a name="l00465"></a><a class="code" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">00465</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsArray(opt) (((opt) &amp; kXMP_PropValueIsArray) != 0)</span>
+<a name="l00466"></a>00466 <span class="preprocessor"></span>
+<a name="l00467"></a><a class="code" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">00467</a> <span class="preprocessor">#define XMP_ArrayIsUnordered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</span>
+<a name="l00468"></a><a class="code" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">00468</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsOrdered(opt) (((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</span>
+<a name="l00469"></a><a class="code" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">00469</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAlternate(opt) (((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</span>
+<a name="l00470"></a><a class="code" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">00470</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_ArrayIsAltText(opt) (((opt) &amp; kXMP_PropArrayIsAltText) != 0)</span>
+<a name="l00471"></a>00471 <span class="preprocessor"></span>
+<a name="l00472"></a><a class="code" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">00472</a> <span class="preprocessor">#define XMP_PropHasQualifiers(opt) (((opt) &amp; kXMP_PropHasQualifiers) != 0)</span>
+<a name="l00473"></a><a class="code" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">00473</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsQualifier(opt) (((opt) &amp; kXMP_PropIsQualifier) != 0)</span>
+<a name="l00474"></a><a class="code" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">00474</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropHasLang(opt) (((opt) &amp; kXMP_PropHasLang) != 0)</span>
+<a name="l00475"></a>00475 <span class="preprocessor"></span>
+<a name="l00476"></a><a class="code" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">00476</a> <span class="preprocessor">#define XMP_NodeIsSchema(opt) (((opt) &amp; kXMP_SchemaNode) != 0)</span>
+<a name="l00477"></a><a class="code" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">00477</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_PropIsAlias(opt) (((opt) &amp; kXMP_PropIsAlias) != 0)</span>
+<a name="l00478"></a>00478 <span class="preprocessor"></span>
+<a name="l00479"></a>00479 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00480"></a>00480
+<a name="l00482"></a>00482 <span class="keyword">enum</span> {
+<a name="l00483"></a>00483
+<a name="l00485"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">00485</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a> = 0x00000002UL,
+<a name="l00486"></a>00486
+<a name="l00487"></a>00487 <span class="comment">// ------------------------------------------------------</span>
+<a name="l00488"></a>00488 <span class="comment">// Options relating to qualifiers attached to a property.</span>
+<a name="l00489"></a>00489
+<a name="l00491"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">00491</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a> = 0x00000010UL,
+<a name="l00492"></a>00492
+<a name="l00497"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">00497</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
+<a name="l00498"></a>00498
+<a name="l00500"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">00500</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217" title="Implies kXMP_PropHasQualifiers, property has xml:lang.">kXMP_PropHasLang</a> = 0x00000040UL,
+<a name="l00501"></a>00501
+<a name="l00503"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">00503</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5" title="Implies kXMP_PropHasQualifiers, property has rdf:type.">kXMP_PropHasType</a> = 0x00000080UL,
+<a name="l00504"></a>00504
+<a name="l00505"></a>00505 <span class="comment">// --------------------------------------------</span>
+<a name="l00506"></a>00506 <span class="comment">// Options relating to the data structure form.</span>
+<a name="l00507"></a>00507
+<a name="l00509"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">00509</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> = 0x00000100UL,
+<a name="l00510"></a>00510
+<a name="l00513"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">00513</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
+<a name="l00514"></a>00514
+<a name="l00516"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">00516</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0" title="The item order does not matter.">kXMP_PropArrayIsUnordered</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a>,
+<a name="l00517"></a>00517
+<a name="l00519"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">00519</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
+<a name="l00520"></a>00520
+<a name="l00522"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">00522</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
+<a name="l00523"></a>00523
+<a name="l00524"></a>00524 <span class="comment">// ------------------------------------</span>
+<a name="l00525"></a>00525 <span class="comment">// Additional struct and array options.</span>
+<a name="l00526"></a>00526
+<a name="l00529"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">00529</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
+<a name="l00530"></a>00530
+<a name="l00531"></a>00531 <span class="comment">// kXMP_InsertBeforeItem = 0x00004000UL, ! Used by SetXyz functions.</span>
+<a name="l00532"></a>00532 <span class="comment">// kXMP_InsertAfterItem = 0x00008000UL, ! Used by SetXyz functions.</span>
+<a name="l00533"></a>00533
+<a name="l00534"></a>00534 <span class="comment">// ----------------------------</span>
+<a name="l00535"></a>00535 <span class="comment">// Other miscellaneous options.</span>
+<a name="l00536"></a>00536
+<a name="l00539"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">00539</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
+<a name="l00540"></a>00540
+<a name="l00543"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">00543</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
+<a name="l00544"></a>00544
+<a name="l00546"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">00546</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464" title="The value of this property is &amp;quot;owned&amp;quot; by the application, and should not...">kXMP_PropIsInternal</a> = 0x00040000UL,
+<a name="l00547"></a>00547
+<a name="l00549"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">00549</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c" title="The value of this property is not derived from the document content.">kXMP_PropIsStable</a> = 0x00100000UL,
+<a name="l00550"></a>00550
+<a name="l00552"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">00552</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877" title="The value of this property is derived from the document content.">kXMP_PropIsDerived</a> = 0x00200000UL,
+<a name="l00553"></a>00553
+<a name="l00554"></a>00554 <span class="comment">// kXMPUtil_AllowCommas = 0x10000000UL, ! Used by TXMPUtils::CatenateArrayItems and ::SeparateArrayItems.</span>
+<a name="l00555"></a>00555 <span class="comment">// kXMP_DeleteExisting = 0x20000000UL, ! Used by TXMPMeta::SetXyz functions to delete any pre-existing property.</span>
+<a name="l00556"></a>00556 <span class="comment">// kXMP_SchemaNode = 0x80000000UL, ! Returned by iterators - #define to avoid warnings</span>
+<a name="l00557"></a>00557
+<a name="l00558"></a>00558 <span class="comment">// ------------------------------</span>
+<a name="l00559"></a>00559 <span class="comment">// Masks that are multiple flags.</span>
+<a name="l00560"></a>00560
+<a name="l00562"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">00562</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a>,
+<a name="l00563"></a>00563
+<a name="l00565"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">00565</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956" title="Property type bit-flag mask for composite types (array and struct).">kXMP_PropCompositeMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a> | <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" title="Property type bit-flag mask for all array types.">kXMP_PropArrayFormMask</a>,
+<a name="l00566"></a>00566
+<a name="l00568"></a><a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">00568</a> <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974" title="Mask for bits that are reserved for transient use by the implementation.">kXMP_ImplReservedMask</a> = 0x70000000L
+<a name="l00569"></a>00569
+<a name="l00570"></a>00570 };
+<a name="l00571"></a>00571
+<a name="l00572"></a>00572 <span class="preprocessor">#define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)</span>
+<a name="l00573"></a>00573 <span class="preprocessor"></span>
+<a name="l00582"></a>00582 <span class="keyword">enum</span> {
+<a name="l00583"></a>00583
+<a name="l00585"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">00585</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> = 0x00004000UL,
+<a name="l00586"></a>00586
+<a name="l00588"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">00588</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a> = 0x00008000UL,
+<a name="l00589"></a>00589
+<a name="l00591"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">00591</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c" title="Delete any pre-existing property.">kXMP_DeleteExisting</a> = 0x20000000UL,
+<a name="l00592"></a>00592
+<a name="l00594"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">00594</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465" title="Bit-flag mask for property-value option bits.">kXMP_PropValueOptionsMask</a> = <a class="code" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a>,
+<a name="l00595"></a>00595
+<a name="l00597"></a><a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">00597</a> <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df" title="Bit-flag mask for array-item location bits.">kXMP_PropArrayLocationMask</a> = <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" title="Option for array item location: Insert a new item before the given index.">kXMP_InsertBeforeItem</a> | <a class="code" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" title="Option for array item location: Insert a new item after the given index.">kXMP_InsertAfterItem</a>
+<a name="l00598"></a>00598
+<a name="l00599"></a>00599 };
+<a name="l00600"></a>00600
+<a name="l00601"></a>00601 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00602"></a>00602
+<a name="l00604"></a>00604 <span class="keyword">enum</span> {
+<a name="l00605"></a>00605
+<a name="l00607"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">00607</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400" title="Require a surrounding x:xmpmeta element.">kXMP_RequireXMPMeta</a> = 0x0001UL,
+<a name="l00608"></a>00608
+<a name="l00610"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">00610</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" title="This is the not last input buffer for this parse stream.">kXMP_ParseMoreBuffers</a> = 0x0002UL,
+<a name="l00611"></a>00611
+<a name="l00613"></a><a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">00613</a> <a class="code" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1" title="Do not reconcile alias differences, throw an exception.">kXMP_StrictAliasing</a> = 0x0004UL
+<a name="l00614"></a>00614
+<a name="l00615"></a>00615 };
+<a name="l00616"></a>00616
+<a name="l00618"></a>00618 <span class="keyword">enum</span> {
+<a name="l00619"></a>00619
+<a name="l00620"></a>00620 <span class="comment">// *** Option to remove empty struct/array, or leaf with empty value?</span>
+<a name="l00621"></a>00621
+<a name="l00623"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">00623</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76" title="Omit the XML packet wrapper.">kXMP_OmitPacketWrapper</a> = 0x0010UL,
+<a name="l00624"></a>00624
+<a name="l00626"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">00626</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" title="Default is a writeable packet.">kXMP_ReadOnlyPacket</a> = 0x0020UL,
+<a name="l00627"></a>00627
+<a name="l00629"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">00629</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb" title="Use a compact form of RDF.">kXMP_UseCompactFormat</a> = 0x0040UL,
+<a name="l00630"></a>00630
+<a name="l00632"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">00632</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" title="Include a padding allowance for a thumbnail image.">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
+<a name="l00633"></a>00633
+<a name="l00635"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">00635</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" title="The padding parameter is the overall packet length.">kXMP_ExactPacketLength</a> = 0x0200UL,
+<a name="l00636"></a>00636
+<a name="l00638"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">00638</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654" title="Show aliases as XML comments.">kXMP_WriteAliasComments</a> = 0x0400UL,
+<a name="l00639"></a>00639
+<a name="l00641"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">00641</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29" title="Omit all formatting whitespace.">kXMP_OmitAllFormatting</a> = 0x0800UL,
+<a name="l00642"></a>00642
+<a name="l00644"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">00644</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856" title="Omit the x:xmpmeta element surrounding the rdf:RDF element.">kXMP_OmitXMPMetaElement</a> = 0x1000UL,
+<a name="l00645"></a>00645
+<a name="l00646"></a>00646 _XMP_LittleEndian_Bit = 0x0001UL, <span class="comment">// ! Don't use directly, see the combined values below!</span>
+<a name="l00647"></a>00647 _XMP_UTF16_Bit = 0x0002UL,
+<a name="l00648"></a>00648 _XMP_UTF32_Bit = 0x0004UL,
+<a name="l00649"></a>00649
+<a name="l00651"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">00651</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845" title="Bit-flag mask for encoding-type bits.">kXMP_EncodingMask</a> = 0x0007UL,
+<a name="l00652"></a>00652
+<a name="l00654"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">00654</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" title="Use UTF8 encoding.">kXMP_EncodeUTF8</a> = 0UL,
+<a name="l00655"></a>00655
+<a name="l00657"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">00657</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" title="Use UTF16 big-endian encoding.">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
+<a name="l00658"></a>00658
+<a name="l00660"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">00660</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" title="Use UTF16 little-endian encoding.">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
+<a name="l00661"></a>00661
+<a name="l00663"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">00663</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" title="Use UTF32 big-endian encoding.">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
+<a name="l00664"></a>00664
+<a name="l00666"></a><a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">00666</a> <a class="code" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" title="Use UTF13 little-endian encoding.">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
+<a name="l00667"></a>00667
+<a name="l00668"></a>00668 };
+<a name="l00669"></a>00669
+<a name="l00670"></a>00670 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00671"></a>00671
+<a name="l00673"></a>00673 <span class="keyword">enum</span> {
+<a name="l00674"></a>00674
+<a name="l00676"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">00676</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044" title="The low 8 bits are an enum of what data structure to iterate.">kXMP_IterClassMask</a> = 0x00FFUL,
+<a name="l00677"></a>00677
+<a name="l00679"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">00679</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b" title="Iterate the property tree of a TXMPMeta object.">kXMP_IterProperties</a> = 0x0000UL,
+<a name="l00680"></a>00680
+<a name="l00682"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">00682</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9" title="Iterate the global alias table.">kXMP_IterAliases</a> = 0x0001UL,
+<a name="l00683"></a>00683
+<a name="l00685"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">00685</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b" title="Iterate the global namespace table.">kXMP_IterNamespaces</a> = 0x0002UL,
+<a name="l00686"></a>00686
+<a name="l00688"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">00688</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a> = 0x0100UL,
+<a name="l00689"></a>00689
+<a name="l00691"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">00691</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a> = 0x0200UL,
+<a name="l00692"></a>00692
+<a name="l00694"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">00694</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a> = 0x0400UL,
+<a name="l00695"></a>00695
+<a name="l00697"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">00697</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" title="Include aliases, default is just actual properties.">kXMP_IterIncludeAliases</a> = 0x0800UL,
+<a name="l00698"></a>00698
+<a name="l00700"></a><a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">00700</a> <a class="code" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a> = 0x1000UL
+<a name="l00701"></a>00701
+<a name="l00702"></a>00702 };
+<a name="l00703"></a>00703
+<a name="l00705"></a>00705 <span class="keyword">enum</span> {
+<a name="l00706"></a>00706
+<a name="l00708"></a><a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">00708</a> <a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a> = 0x0001UL,
+<a name="l00709"></a>00709
+<a name="l00711"></a><a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">00711</a> <a class="code" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a> = 0x0002UL
+<a name="l00712"></a>00712
+<a name="l00713"></a>00713 };
+<a name="l00714"></a>00714
+<a name="l00715"></a>00715 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00722"></a>00722 <span class="comment"></span><span class="keyword">enum</span> {
+<a name="l00723"></a>00723
+<a name="l00725"></a><a class="code" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">00725</a> <a class="code" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506" title="Allow commas in item values, default is separator.">kXMPUtil_AllowCommas</a> = 0x10000000UL
+<a name="l00726"></a>00726
+<a name="l00727"></a>00727 };
+<a name="l00728"></a>00728
+<a name="l00730"></a>00730 <span class="keyword">enum</span> {
+<a name="l00731"></a>00731
+<a name="l00733"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">00733</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" title="Do all properties, default is just external properties.">kXMPUtil_DoAllProperties</a> = 0x0001UL,
+<a name="l00734"></a>00734
+<a name="l00736"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">00736</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" title="Replace existing values, default is to leave them.">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
+<a name="l00737"></a>00737
+<a name="l00739"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">00739</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9" title="Delete properties if the new value is empty.">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
+<a name="l00740"></a>00740
+<a name="l00742"></a><a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">00742</a> <a class="code" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" title="Include aliases, default is just actual properties.">kXMPUtil_IncludeAliases</a> = 0x0800UL
+<a name="l00743"></a>00743
+<a name="l00744"></a>00744 };
+<a name="l00745"></a>00745
+<a name="l00746"></a>00746 <span class="comment">// =================================================================================================</span>
+<a name="l00747"></a>00747 <span class="comment">// Types and Constants for XMPFiles</span>
+<a name="l00748"></a>00748 <span class="comment">// ================================</span>
+<a name="l00749"></a>00749
+<a name="l00751"></a>00751 <span class="keyword">enum</span> {
+<a name="l00752"></a>00752
+<a name="l00753"></a>00753 <span class="comment">// ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There</span>
+<a name="l00754"></a>00754 <span class="comment">// ! seems to be no decent way on UNIX to determine the target endianness at compile time.</span>
+<a name="l00755"></a>00755 <span class="comment">// ! Forcing it on the client isn't acceptable.</span>
+<a name="l00756"></a>00756
+<a name="l00757"></a>00757 <span class="comment">// --------------------</span>
+<a name="l00758"></a>00758 <span class="comment">// Public file formats.</span>
+<a name="l00759"></a>00759
+<a name="l00761"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">00761</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &amp;#39;PDF &amp;#39;.">kXMP_PDFFile</a> = 0x50444620UL,
+<a name="l00763"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">00763</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70" title="Public file format constant: &amp;#39;PS &amp;#39;, general PostScript following DSC conventions...">kXMP_PostScriptFile</a> = 0x50532020UL,
+<a name="l00765"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">00765</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e" title="Public file format constant: &amp;#39;EPS &amp;#39;, encapsulated PostScript.">kXMP_EPSFile</a> = 0x45505320UL,
+<a name="l00766"></a>00766
+<a name="l00768"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">00768</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487" title="Public file format constant: &amp;#39;JPEG&amp;#39;.">kXMP_JPEGFile</a> = 0x4A504547UL,
+<a name="l00770"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">00770</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d" title="Public file format constant: &amp;#39;JPX &amp;#39;, JPEG 2000, ISO 15444-1.">kXMP_JPEG2KFile</a> = 0x4A505820UL,
+<a name="l00772"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">00772</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08" title="Public file format constant: &amp;#39;TIFF&amp;#39;.">kXMP_TIFFFile</a> = 0x54494646UL,
+<a name="l00774"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">00774</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06" title="Public file format constant: &amp;#39;GIF &amp;#39;.">kXMP_GIFFile</a> = 0x47494620UL,
+<a name="l00776"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">00776</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371" title="Public file format constant: &amp;#39;PNG &amp;#39;.">kXMP_PNGFile</a> = 0x504E4720UL,
+<a name="l00777"></a>00777
+<a name="l00779"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">00779</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597" title="Public file format constant: &amp;#39;SWF &amp;#39;.">kXMP_SWFFile</a> = 0x53574620UL,
+<a name="l00781"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">00781</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9" title="Public file format constant: &amp;#39;FLA &amp;#39;.">kXMP_FLAFile</a> = 0x464C4120UL,
+<a name="l00783"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">00783</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f" title="Public file format constant: &amp;#39;FLV &amp;#39;.">kXMP_FLVFile</a> = 0x464C5620UL,
+<a name="l00784"></a>00784
+<a name="l00786"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">00786</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37" title="Public file format constant: &amp;#39;MOV &amp;#39;, Quicktime.">kXMP_MOVFile</a> = 0x4D4F5620UL,
+<a name="l00788"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">00788</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e" title="Public file format constant: &amp;#39;AVI &amp;#39;.">kXMP_AVIFile</a> = 0x41564920UL,
+<a name="l00790"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">00790</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb" title="Public file format constant: &amp;#39;CIN &amp;#39;, Cineon.">kXMP_CINFile</a> = 0x43494E20UL,
+<a name="l00792"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">00792</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8" title="Public file format constant: &amp;#39;WAV &amp;#39;.">kXMP_WAVFile</a> = 0x57415620UL,
+<a name="l00794"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">00794</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b" title="Public file format constant: &amp;#39;MP3 &amp;#39;.">kXMP_MP3File</a> = 0x4D503320UL,
+<a name="l00796"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">00796</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9" title="Public file format constant: &amp;#39;SES &amp;#39;, Audition session.">kXMP_SESFile</a> = 0x53455320UL,
+<a name="l00798"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">00798</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789" title="Public file format constant: &amp;#39;CEL &amp;#39;, Audition loop.">kXMP_CELFile</a> = 0x43454C20UL,
+<a name="l00800"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">00800</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8" title="Public file format constant: &amp;#39;MPEG&amp;#39;.">kXMP_MPEGFile</a> = 0x4D504547UL,
+<a name="l00802"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">00802</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a" title="Public file format constant: &amp;#39;MP2 &amp;#39;.">kXMP_MPEG2File</a> = 0x4D503220UL,
+<a name="l00804"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">00804</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91" title="Public file format constant: &amp;#39;MP4 &amp;#39;, ISO 14494-12 and -14.">kXMP_MPEG4File</a> = 0x4D503420UL,
+<a name="l00806"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">00806</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622" title="Public file format constant: &amp;#39;WMAV&amp;#39;, Windows Media Audio and Video.">kXMP_WMAVFile</a> = 0x574D4156UL,
+<a name="l00808"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">00808</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3" title="Public file format constant: &amp;#39;AIFF&amp;#39;.">kXMP_AIFFFile</a> = 0x41494646UL,
+<a name="l00810"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">00810</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34" title="Public file format constant: &amp;#39;P2 &amp;#39;, a collection not really a single file...">kXMP_P2File</a> = 0x50322020UL,
+<a name="l00812"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">00812</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57" title="Public file format constant: &amp;#39;XDCF&amp;#39;, a collection not really a single file...">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
+<a name="l00814"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">00814</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852" title="Public file format constant: &amp;#39;XDCS&amp;#39;, a collection not really a single file...">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
+<a name="l00816"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">00816</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc" title="Public file format constant: &amp;#39;XDCX&amp;#39;, a collection not really a single file...">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
+<a name="l00818"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">00818</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2" title="Public file format constant: &amp;#39;AVHD&amp;#39;, a collection not really a single file...">kXMP_AVCHDFile</a> = 0x41564844UL,
+<a name="l00820"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">00820</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e" title="Public file format constant: &amp;#39;SHDV&amp;#39;, a collection not really a single file...">kXMP_SonyHDVFile</a> = 0x53484456UL,
+<a name="l00821"></a>00821
+<a name="l00823"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">00823</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760" title="Public file format constant: &amp;#39;HTML&amp;#39;.">kXMP_HTMLFile</a> = 0x48544D4CUL,
+<a name="l00825"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">00825</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124" title="Public file format constant: &amp;#39;XML &amp;#39;.">kXMP_XMLFile</a> = 0x584D4C20UL,
+<a name="l00827"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">00827</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd" title="Public file format constant: &amp;#39;text&amp;#39;.">kXMP_TextFile</a> = 0x74657874UL,
+<a name="l00828"></a>00828
+<a name="l00829"></a>00829 <span class="comment">// -------------------------------</span>
+<a name="l00830"></a>00830 <span class="comment">// Adobe application file formats.</span>
+<a name="l00831"></a>00831
+<a name="l00833"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">00833</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c" title="Adobe application file format constant: &amp;#39;PSD &amp;#39;.">kXMP_PhotoshopFile</a> = 0x50534420UL,
+<a name="l00835"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">00835</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554" title="Adobe application file format constant: &amp;#39;AI &amp;#39;.">kXMP_IllustratorFile</a> = 0x41492020UL,
+<a name="l00837"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">00837</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60" title="Adobe application file format constant: &amp;#39;INDD&amp;#39;.">kXMP_InDesignFile</a> = 0x494E4444UL,
+<a name="l00839"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">00839</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e" title="Adobe application file format constant: &amp;#39;AEP &amp;#39;.">kXMP_AEProjectFile</a> = 0x41455020UL,
+<a name="l00841"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">00841</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df" title="Adobe application file format constant: &amp;#39;AET &amp;#39;, After Effects Project Template...">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
+<a name="l00843"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">00843</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0" title="Adobe application file format constant: &amp;#39;FFX &amp;#39;.">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
+<a name="l00845"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">00845</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a" title="Adobe application file format constant: &amp;#39;NCOR&amp;#39;.">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
+<a name="l00847"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">00847</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d" title="Adobe application file format constant: &amp;#39;PRPJ&amp;#39;.">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
+<a name="l00849"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">00849</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a" title="Adobe application file format constant: &amp;#39;PRTL&amp;#39;.">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
+<a name="l00851"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">00851</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96" title="Adobe application file format constant: &amp;#39;UCF &amp;#39;, Universal Container Format...">kXMP_UCFFile</a> = 0x55434620UL,
+<a name="l00852"></a>00852
+<a name="l00853"></a>00853 <span class="comment">// -------</span>
+<a name="l00854"></a>00854 <span class="comment">// Others.</span>
+<a name="l00855"></a>00855
+<a name="l00857"></a><a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">00857</a> <a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a> = 0x20202020UL
+<a name="l00858"></a>00858
+<a name="l00859"></a>00859 };
+<a name="l00860"></a>00860
+<a name="l00862"></a><a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">00862</a> <span class="keyword">typedef</span> XMP_Uns32 <a class="code" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e" title="Type for file format identification constants. See kXMP_PDFFile and following.">XMP_FileFormat</a>;
+<a name="l00863"></a>00863
+<a name="l00864"></a>00864 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00865"></a>00865
+<a name="l00867"></a>00867 <span class="keyword">enum</span> {
+<a name="l00868"></a>00868 kXMP_CharLittleEndianMask = 1,
+<a name="l00869"></a>00869 kXMP_Char16BitMask = 2,
+<a name="l00870"></a>00870 kXMP_Char32BitMask = 4
+<a name="l00871"></a>00871 };
+<a name="l00872"></a>00872
+<a name="l00874"></a>00874 <span class="keyword">enum</span> {
+<a name="l00876"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">00876</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637" title="8-bit">kXMP_Char8Bit</a> = 0,
+<a name="l00878"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">00878</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d" title="16-bit big-endian">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
+<a name="l00880"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">00880</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa" title="16-bit little-endian">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
+<a name="l00882"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">00882</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc" title="32-bit big-endian">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
+<a name="l00884"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">00884</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e" title="32-bit little-endian">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
+<a name="l00886"></a><a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">00886</a> <a class="code" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b" title="Variable or not-yet-known cases.">kXMP_CharUnknown</a> = 1
+<a name="l00887"></a>00887 };
+<a name="l00888"></a>00888
+<a name="l00921"></a>00921
+<a name="l00922"></a><a class="code" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">00922</a> <span class="preprocessor">#define XMP_CharFormIs16Bit(f) ( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</span>
+<a name="l00923"></a><a class="code" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">00923</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIs32Bit(f) ( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</span>
+<a name="l00924"></a><a class="code" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">00924</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsBigEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</span>
+<a name="l00925"></a><a class="code" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">00925</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFormIsLittleEndian(f) ( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</span>
+<a name="l00926"></a><a class="code" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">00926</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_GetCharSize(f) ( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</span>
+<a name="l00927"></a><a class="code" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">00927</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) )</span>
+<a name="l00928"></a><a class="code" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">00928</a> <span class="preprocessor"></span><span class="preprocessor">#define XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) )</span>
+<a name="l00929"></a>00929 <span class="preprocessor"></span>
+<a name="l00932"></a><a class="code" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">00932</a> <span class="preprocessor">#define kXMPFiles_UnknownOffset ((XMP_Int64)-1)</span>
+<a name="l00933"></a>00933 <span class="preprocessor"></span>
+<a name="l00936"></a><a class="code" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">00936</a> <span class="preprocessor">#define kXMPFiles_UnknownLength ((XMP_Int32)-1)</span>
+<a name="l00937"></a>00937 <span class="preprocessor"></span>
+<a name="l00939"></a><a class="code" href="structXMP__PacketInfo.html">00939</a> <span class="keyword">struct </span><a class="code" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> {
+<a name="l00940"></a>00940
+<a name="l00942"></a><a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c">00942</a> XMP_Int64 <a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>;
+<a name="l00944"></a><a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44">00944</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>;
+<a name="l00946"></a><a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256">00946</a> XMP_Int32 <a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>; <span class="comment">// Zero if unknown.</span>
+<a name="l00947"></a>00947
+<a name="l00949"></a><a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75">00949</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>;
+<a name="l00951"></a><a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1">00951</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>;
+<a name="l00953"></a><a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f">00953</a> XMP_Bool <a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>;
+<a name="l00954"></a>00954
+<a name="l00956"></a><a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e">00956</a> XMP_Uns8 <a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>;
+<a name="l00957"></a>00957
+<a name="l00959"></a><a class="code" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8">00959</a> <a class="code" href="structXMP__PacketInfo.html#2ae03a1b3d03fa9ebc829105037155a8" title="Default constructor.">XMP_PacketInfo</a>() : <a class="code" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">offset</a>(<a class="code" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4" title="Constant for an unknown packet offset within a file.">kXMPFiles_UnknownOffset</a>), <a class="code" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">length</a>(<a class="code" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658" title="Constant for an unknown packet length within a file.">kXMPFiles_UnknownLength</a>),
+<a name="l00960"></a>00960 <a class="code" href="structXMP__PacketInfo.html#f4f99e6a5b36b05fdf4a519421875256" title="Packet padding size in bytes, zero if unknown.">padSize</a>(0), <a class="code" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">charForm</a>(0), <a class="code" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">writeable</a>(0), <a class="code" href="structXMP__PacketInfo.html#6725d8ab8b4eedddaac950d2b1b00a7f" title="True if there is a packet wrapper, the &amp;quot;&amp;lt;?xpacket...&amp;gt;&amp;quot; XML processing...">hasWrapper</a>(0), <a class="code" href="structXMP__PacketInfo.html#83ec12161a36451fef05d88cc754104e" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad</a>(0) {};
+<a name="l00961"></a>00961
+<a name="l00962"></a>00962 };
+<a name="l00963"></a>00963
+<a name="l00965"></a>00965 <span class="keyword">enum</span> {
+<a name="l00967"></a><a class="code" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">00967</a> <a class="code" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817" title="Version of the XMP_PacketInfo type.">kXMP_PacketInfoVersion</a> = 3
+<a name="l00968"></a>00968 };
+<a name="l00969"></a>00969
+<a name="l00970"></a>00970 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l00971"></a>00971
+<a name="l00973"></a>00973 <span class="keyword">enum</span> {
+<a name="l00975"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">00975</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" title="The thumbnail data has an unknown format.">kXMP_UnknownTNail</a> = 0,
+<a name="l00977"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">00977</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321" title="The thumbnail data is a JPEG stream, presumably compressed.">kXMP_JPEGTNail</a> = 1,
+<a name="l00979"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">00979</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951" title="The thumbnail data is a TIFF stream, presumably uncompressed.">kXMP_TIFFTNail</a> = 2,
+<a name="l00981"></a><a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">00981</a> <a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab" title="The thumbnail data is in the format of Photoshop Image Resource 1036.">kXMP_PShopTNail</a> = 3
+<a name="l00982"></a>00982 };
+<a name="l00983"></a>00983
+<a name="l00985"></a><a class="code" href="structXMP__ThumbnailInfo.html">00985</a> <span class="keyword">struct </span><a class="code" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> {
+<a name="l00986"></a>00986
+<a name="l00988"></a><a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df">00988</a> XMP_FileFormat <a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df" title="The format of the containing file.">fileFormat</a>;
+<a name="l00990"></a><a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881">00990</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">fullWidth</a>, fullHeight;
+<a name="l00992"></a><a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b">00992</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b" title="Thumbnail image size in pixels.">tnailWidth</a>, tnailHeight;
+<a name="l00994"></a>00994
+<a name="l00995"></a><a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24">00995</a> XMP_Uns16 <a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24" title="Orientation of full image and thumbnail, as defined by Exif for tag 274.">fullOrientation</a>, tnailOrientation;
+<a name="l00997"></a><a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179">00997</a> <span class="keyword">const</span> XMP_Uns8 * <a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">tnailImage</a>;
+<a name="l00999"></a><a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff">00999</a> XMP_Uns32 <a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">tnailSize</a>;
+<a name="l01001"></a><a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906">01001</a> XMP_Uns8 <a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">tnailFormat</a>;
+<a name="l01002"></a>01002
+<a name="l01004"></a><a class="code" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955">01004</a> XMP_Uns8 <a class="code" href="structXMP__ThumbnailInfo.html#6ccab4dea65d89c7ab141b59ac055955" title="Padding to make the struct&amp;#39;s size be a multiple 4.">pad1</a>, pad2, pad3;
+<a name="l01005"></a>01005
+<a name="l01007"></a><a class="code" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828">01007</a> <a class="code" href="structXMP__ThumbnailInfo.html#20b6acef9b825defe492b3d120532828" title="Default constructor.">XMP_ThumbnailInfo</a>() : <a class="code" href="structXMP__ThumbnailInfo.html#9bd0982c79d43f96a253486e79c453df" title="The format of the containing file.">fileFormat</a>(<a class="code" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &amp;#39; &amp;#39;.">kXMP_UnknownFile</a>), <a class="code" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">fullWidth</a>(0), fullHeight(0),
+<a name="l01008"></a>01008 <a class="code" href="structXMP__ThumbnailInfo.html#17ac245bb300328031f998ba13f0169b" title="Thumbnail image size in pixels.">tnailWidth</a>(0), tnailHeight(0), <a class="code" href="structXMP__ThumbnailInfo.html#ffcd0f874cb6c5faaf8d595956cabf24" title="Orientation of full image and thumbnail, as defined by Exif for tag 274.">fullOrientation</a>(0), tnailOrientation(0),
+<a name="l01009"></a>01009 <a class="code" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">tnailImage</a>(0), <a class="code" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">tnailSize</a>(0), <a class="code" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">tnailFormat</a>(<a class="code" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" title="The thumbnail data has an unknown format.">kXMP_UnknownTNail</a>) {};
+<a name="l01010"></a>01010
+<a name="l01011"></a>01011 };
+<a name="l01012"></a>01012
+<a name="l01014"></a>01014 <span class="keyword">enum</span> {
+<a name="l01016"></a><a class="code" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">01016</a> <a class="code" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be" title="Version of the XMP_ThumbnailInfo type.">kXMP_ThumbnailInfoVersion</a> = 1
+<a name="l01017"></a>01017 };
+<a name="l01018"></a>01018
+<a name="l01019"></a>01019 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01020"></a>01020
+<a name="l01022"></a>01022 <span class="keyword">enum</span> {
+<a name="l01024"></a><a class="code" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">01024</a> <a class="code" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9" title="Do not initialize QuickTime, the client will.">kXMPFiles_NoQuickTimeInit</a> = 0x0001
+<a name="l01025"></a>01025 };
+<a name="l01026"></a>01026
+<a name="l01028"></a>01028 <span class="keyword">enum</span> {
+<a name="l01029"></a>01029
+<a name="l01031"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">01031</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a> = 0x00000001,
+<a name="l01032"></a>01032
+<a name="l01034"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">01034</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a> = 0x00000002,
+<a name="l01035"></a>01035
+<a name="l01037"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">01037</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a> = 0x00000004,
+<a name="l01038"></a>01038
+<a name="l01040"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">01040</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3" title="Can expand, but prefers in-place update.">kXMPFiles_PrefersInPlace</a> = 0x00000008,
+<a name="l01041"></a>01041
+<a name="l01043"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">01043</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a> = 0x00000010,
+<a name="l01044"></a>01044
+<a name="l01046"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">01046</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
+<a name="l01047"></a>01047
+<a name="l01049"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">01049</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
+<a name="l01050"></a>01050
+<a name="l01052"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">01052</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" title="File handler returns native thumbnail.">kXMPFiles_ReturnsTNail</a> = 0x00000080,
+<a name="l01053"></a>01053
+<a name="l01055"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">01055</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4" title="The file handler does the file open and close.">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
+<a name="l01056"></a>01056
+<a name="l01058"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">01058</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd" title="The file handler allows crash-safe file updates.">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
+<a name="l01059"></a>01059
+<a name="l01061"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">01061</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999" title="The file format needs the XMP packet to be read-only.">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
+<a name="l01062"></a>01062
+<a name="l01064"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">01064</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c" title="The file handler uses a &amp;quot;sidecar&amp;quot; file for the XMP.">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
+<a name="l01065"></a>01065
+<a name="l01067"></a><a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">01067</a> <a class="code" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd" title="The format is folder oriented, for example the P2 video format.">kXMPFiles_FolderBasedFormat</a> = 0x00001000
+<a name="l01068"></a>01068
+<a name="l01069"></a>01069 };
+<a name="l01070"></a>01070
+<a name="l01072"></a>01072 <span class="keyword">enum</span> {
+<a name="l01073"></a>01073
+<a name="l01075"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">01075</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a> = 0x00000001,
+<a name="l01076"></a>01076
+<a name="l01078"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">01078</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a> = 0x00000002,
+<a name="l01079"></a>01079
+<a name="l01081"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">01081</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
+<a name="l01082"></a>01082
+<a name="l01084"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">01084</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a> = 0x00000008,
+<a name="l01085"></a>01085
+<a name="l01087"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">01087</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a> = 0x00000010,
+<a name="l01088"></a>01088
+<a name="l01090"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">01090</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
+<a name="l01091"></a>01091
+<a name="l01093"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">01093</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
+<a name="l01094"></a>01094
+<a name="l01096"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">01096</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &amp;quot;known&amp;quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
+<a name="l01097"></a>01097
+<a name="l01099"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">01099</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a" title="Attempt to repair a file opened for update, default is to not open (throw an exception)...">kXMPFiles_OpenRepairFile</a> = 0x00000100,
+<a name="l01100"></a>01100
+<a name="l01102"></a><a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">01102</a> <a class="code" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" title="Set if calling from background thread.">kXMPFiles_OpenInBackground</a> = 0x10000000
+<a name="l01103"></a>01103
+<a name="l01104"></a>01104 };
+<a name="l01105"></a>01105
+<a name="l01106"></a>01106 <span class="comment">// A note about kXMPFiles_OpenInBackground. The XMPFiles handler for .mov files currently uses</span>
+<a name="l01107"></a>01107 <span class="comment">// QuickTime. On Macintosh, calls to Enter/ExitMovies versus Enter/ExitMoviesOnThread must be made.</span>
+<a name="l01108"></a>01108 <span class="comment">// This option is used to signal background use so that the .mov handler can behave appropriately.</span>
+<a name="l01109"></a>01109
+<a name="l01111"></a>01111 <span class="keyword">enum</span> {
+<a name="l01113"></a><a class="code" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">01113</a> <a class="code" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a> = 0x0001
+<a name="l01114"></a>01114 };
+<a name="l01115"></a>01115
+<a name="l01116"></a>01116 <span class="comment">// =================================================================================================</span>
+<a name="l01117"></a>01117 <span class="comment">// Exception codes</span>
+<a name="l01118"></a>01118 <span class="comment">// ===============</span>
+<a name="l01119"></a>01119
+<a name="l01133"></a>01133
+<a name="l01135"></a><a class="code" href="classXMP__Error.html">01135</a> <span class="keyword">class </span><a class="code" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a> {
+<a name="l01136"></a>01136 <span class="keyword">public</span>:
+<a name="l01137"></a>01137
+<a name="l01144"></a><a class="code" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa">01144</a> <a class="code" href="classXMP__Error.html#a8b3b859899759d679b00237254e30aa" title="Constructor for an XMP_Error.">XMP_Error</a> ( XMP_Int32 _id, XMP_StringPtr _errMsg ) : <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>(_id), <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>(_errMsg) {};
+<a name="l01145"></a>01145
+<a name="l01147"></a><a class="code" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd">01147</a> <span class="keyword">inline</span> XMP_Int32 <a class="code" href="classXMP__Error.html#56aaa6fc6644ccfc9470ae1af8f3a8cd" title="Retrieves the numeric code from an XMP_Error.">GetID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>; };
+<a name="l01148"></a>01148
+<a name="l01150"></a><a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125">01150</a> <span class="keyword">inline</span> XMP_StringPtr <a class="code" href="classXMP__Error.html#9a3560c67612dec9a6ca37c34eb2c153" title="Retrieves the descriptive string from an XMP_Error.">GetErrMsg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>; };
+<a name="l01151"></a>01151
+<a name="l01152"></a>01152 <span class="keyword">private</span>:
+<a name="l01154"></a>01154 XMP_Int32 <a class="code" href="classXMP__Error.html#ad714bd7c428e10eff07a8ab6a4f3125" title="Exception code. See constants kXMPErr_Unknown and following.">id</a>;
+<a name="l01157"></a><a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">01157</a> XMP_StringPtr <a class="code" href="classXMP__Error.html#31fd80098e50026985e05abd16f3e045">errMsg</a>;
+<a name="l01158"></a>01158 };
+<a name="l01159"></a>01159
+<a name="l01161"></a>01161 <span class="keyword">enum</span> {
+<a name="l01162"></a>01162
+<a name="l01163"></a>01163 <span class="comment">// --------------------</span>
+<a name="l01164"></a>01164 <span class="comment">// Generic error codes.</span>
+<a name="l01165"></a>01165
+<a name="l01167"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">01167</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581" title="Generic unknown error.">kXMPErr_Unknown</a> = 0,
+<a name="l01169"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">01169</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1" title="Generic undefined error.">kXMPErr_TBD</a> = 1,
+<a name="l01171"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">01171</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3" title="Generic unavailable error.">kXMPErr_Unavailable</a> = 2,
+<a name="l01173"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">01173</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1" title="Generic bad object error.">kXMPErr_BadObject</a> = 3,
+<a name="l01175"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">01175</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1" title="Generic bad parameter error.">kXMPErr_BadParam</a> = 4,
+<a name="l01177"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">01177</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a" title="Generic bad value error.">kXMPErr_BadValue</a> = 5,
+<a name="l01179"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">01179</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6" title="Generic assertion failure.">kXMPErr_AssertFailure</a> = 6,
+<a name="l01181"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">01181</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b" title="Generic enforcement failure.">kXMPErr_EnforceFailure</a> = 7,
+<a name="l01183"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">01183</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2" title="Generic unimplemented error.">kXMPErr_Unimplemented</a> = 8,
+<a name="l01185"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">01185</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0" title="Generic internal failure.">kXMPErr_InternalFailure</a> = 9,
+<a name="l01187"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">01187</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7" title="Generic deprecated error.">kXMPErr_Deprecated</a> = 10,
+<a name="l01189"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">01189</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb" title="Generic external failure.">kXMPErr_ExternalFailure</a> = 11,
+<a name="l01191"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">01191</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195" title="Generic user abort error.">kXMPErr_UserAbort</a> = 12,
+<a name="l01193"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">01193</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb" title="Generic standard exception.">kXMPErr_StdException</a> = 13,
+<a name="l01195"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">01195</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4" title="Generic unknown exception.">kXMPErr_UnknownException</a> = 14,
+<a name="l01197"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">01197</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813" title="Generic out-of-memory error.">kXMPErr_NoMemory</a> = 15,
+<a name="l01198"></a>01198
+<a name="l01199"></a>01199 <span class="comment">// ------------------------------------</span>
+<a name="l01200"></a>01200 <span class="comment">// More specific parameter error codes.</span>
+<a name="l01201"></a>01201
+<a name="l01203"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">01203</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539" title="Bad schema parameter.">kXMPErr_BadSchema</a> = 101,
+<a name="l01205"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">01205</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7" title="Bad XPath parameter.">kXMPErr_BadXPath</a> = 102,
+<a name="l01207"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">01207</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444" title="Bad options parameter.">kXMPErr_BadOptions</a> = 103,
+<a name="l01209"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">01209</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010" title="Bad index parameter.">kXMPErr_BadIndex</a> = 104,
+<a name="l01211"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">01211</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9" title="Bad iteration position.">kXMPErr_BadIterPosition</a> = 105,
+<a name="l01213"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">01213</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8" title="XML parsing error.">kXMPErr_BadParse</a> = 106,
+<a name="l01215"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">01215</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9" title="Serialization error.">kXMPErr_BadSerialize</a> = 107,
+<a name="l01217"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">01217</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8" title="File format error.">kXMPErr_BadFileFormat</a> = 108,
+<a name="l01219"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">01219</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795" title="No file handler found for format.">kXMPErr_NoFileHandler</a> = 109,
+<a name="l01221"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">01221</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b" title="Data too large for JPEG file format.">kXMPErr_TooLargeForJPEG</a> = 110,
+<a name="l01222"></a>01222
+<a name="l01223"></a>01223 <span class="comment">// -----------------------------------------------</span>
+<a name="l01224"></a>01224 <span class="comment">// File format and internal structure error codes.</span>
+<a name="l01225"></a>01225
+<a name="l01227"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">01227</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5" title="XML format error.">kXMPErr_BadXML</a> = 201,
+<a name="l01229"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">01229</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e" title="RDF format error.">kXMPErr_BadRDF</a> = 202,
+<a name="l01231"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">01231</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821" title="XMP format error.">kXMPErr_BadXMP</a> = 203,
+<a name="l01233"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">01233</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179" title="Empty iterator.">kXMPErr_EmptyIterator</a> = 204,
+<a name="l01235"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">01235</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f" title="Unicode error.">kXMPErr_BadUnicode</a> = 205,
+<a name="l01237"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">01237</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d" title="TIFF format error.">kXMPErr_BadTIFF</a> = 206,
+<a name="l01239"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">01239</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee" title="JPEG format error.">kXMPErr_BadJPEG</a> = 207,
+<a name="l01241"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">01241</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d" title="PSD format error.">kXMPErr_BadPSD</a> = 208,
+<a name="l01243"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">01243</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3" title="PSIR format error.">kXMPErr_BadPSIR</a> = 209,
+<a name="l01245"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">01245</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e" title="IPTC format error.">kXMPErr_BadIPTC</a> = 210,
+<a name="l01247"></a><a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">01247</a> <a class="code" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad" title="MPEG format error.">kXMPErr_BadMPEG</a> = 211
+<a name="l01248"></a>01248
+<a name="l01249"></a>01249 };
+<a name="l01250"></a>01250
+<a name="l01252"></a>01252
+<a name="l01253"></a>01253 <span class="comment">// =================================================================================================</span>
+<a name="l01254"></a>01254 <span class="comment">// Client callbacks</span>
+<a name="l01255"></a>01255 <span class="comment">// ================</span>
+<a name="l01256"></a>01256
+<a name="l01257"></a>01257 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01260"></a>01260 <span class="comment"></span>
+<a name="l01265"></a>01265
+<a name="l01266"></a><a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">01266</a> <span class="keyword">typedef</span> XMP_Int32 <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>;
+<a name="l01267"></a>01267
+<a name="l01268"></a>01268 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01283"></a>01283 <span class="comment"></span>
+<a name="l01284"></a><a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">01284</a> <span class="keyword">typedef</span> <a class="code" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> (* <a class="code" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>) ( <span class="keywordtype">void</span> * refCon,
+<a name="l01285"></a>01285 XMP_StringPtr buffer,
+<a name="l01286"></a>01286 XMP_StringLen bufferSize );
+<a name="l01287"></a>01287
+<a name="l01288"></a>01288 <span class="comment">// -------------------------------------------------------------------------------------------------</span>
+<a name="l01297"></a>01297 <span class="comment"></span>
+<a name="l01298"></a><a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">01298</a> <span class="keyword">typedef</span> bool (* <a class="code" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>) ( <span class="keywordtype">void</span> * arg ); <span class="comment">// Used by .</span>
+<a name="l01299"></a>01299
+<a name="l01301"></a>01301
+<a name="l01302"></a>01302 <span class="comment">// =================================================================================================</span>
+<a name="l01303"></a>01303 <span class="comment">// Stuff with no better place to be</span>
+<a name="l01304"></a>01304 <span class="comment">// ================================</span>
+<a name="l01305"></a>01305
+<a name="l01307"></a><a class="code" href="structXMP__VersionInfo.html">01307</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a> {
+<a name="l01309"></a><a class="code" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb">01309</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#7edfa1613a58a248fd15267008bd8afb" title="The primary release number, the &amp;quot;1&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">major</a>;
+<a name="l01311"></a><a class="code" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317">01311</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#f5b56598e15febd742b431dadae7c317" title="The secondary release number, the &amp;quot;2&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">minor</a>;
+<a name="l01313"></a><a class="code" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28">01313</a> XMP_Uns8 <a class="code" href="structXMP__VersionInfo.html#4b448a8253e26a37d2df35e04ac25d28" title="The tertiary release number, the &amp;quot;3&amp;quot; in version &amp;quot;1.2.3&amp;quot;.">micro</a>;
+<a name="l01315"></a><a class="code" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018">01315</a> XMP_Bool <a class="code" href="structXMP__VersionInfo.html#f1643d86f32f5a5a275dc9c5ba843018" title="A 0/1 boolean value, true if this is a debug build.">isDebug</a>;
+<a name="l01317"></a><a class="code" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc">01317</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#0e20a6bf10da4c17bdfc8027f1586ffc" title="A rolling build number, monotonically increasing in a release.">build</a>;
+<a name="l01319"></a><a class="code" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74">01319</a> XMP_Uns32 <a class="code" href="structXMP__VersionInfo.html#d018f35b382046ca77b1252bafa93f74" title="Individual feature implementation flags.">flags</a>;
+<a name="l01321"></a><a class="code" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834">01321</a> XMP_StringPtr <a class="code" href="structXMP__VersionInfo.html#19654242b92bffd7517e92882850e834" title="A comprehensive version information string.">message</a>;
+<a name="l01322"></a>01322 } <a class="code" href="structXMP__VersionInfo.html" title="XMP Toolkit version information.">XMP_VersionInfo</a>;
+<a name="l01323"></a>01323
+<a name="l01324"></a>01324 <span class="comment">// =================================================================================================</span>
+<a name="l01325"></a>01325
+<a name="l01326"></a>01326 <span class="preprocessor">#if __cplusplus</span>
+<a name="l01327"></a>01327 <span class="preprocessor"></span>} <span class="comment">// extern "C"</span>
+<a name="l01328"></a>01328 <span class="preprocessor">#endif</span>
+<a name="l01329"></a>01329 <span class="preprocessor"></span>
+<a name="l01330"></a>01330 <span class="preprocessor">#endif // __XMP_Const_h__</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/XMP__Const_8h.html b/docs/API/XMP__Const_8h.html
new file mode 100644
index 0000000..363e59e
--- /dev/null
+++ b/docs/API/XMP__Const_8h.html
@@ -0,0 +1,2384 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: XMP_Const.h File Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>XMP_Const.h File Reference</h1>Common C/C++ types and constants for the XMP toolkit. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;XMP_Environment.h&quot;</code><br>
+<code>#include &lt;stddef.h&gt;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for XMP_Const.h:</div>
+<div class="dynsection">
+<p><center><img src="XMP__Const_8h__incl.png" border="0" usemap="#XMP_Const.h_map" alt=""></center>
+</div>
+
+<p>
+<a href="XMP__Const_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The expanded type for a date and time. <a href="structXMP__DateTime.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP packet description. <a href="structXMP__PacketInfo.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thumbnail descriptor. <a href="structXMP__ThumbnailInfo.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMP__Error.html">XMP_Error</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit error, associates an error code with a descriptive error string. <a href="classXMP__Error.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP Toolkit version information. <a href="structXMP__VersionInfo.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>General scalar types and constants</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#4c39e0131b0e3d7db66e1cfa82b67141">kXMP_TrueStr</a>&nbsp;&nbsp;&nbsp;&quot;True&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical true string value for Booleans in serialized XMP. <a href="#4c39e0131b0e3d7db66e1cfa82b67141"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#2dc55b533ed63ed7ff0c3be16a97e278">kXMP_FalseStr</a>&nbsp;&nbsp;&nbsp;&quot;False&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The canonical false string value for Booleans in serialized XMP. <a href="#2dc55b533ed63ed7ff0c3be16a97e278"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e">kXMPTS_Yes</a> = 1,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90">kXMPTS_No</a> = 0,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584">kXMPTS_Maybe</a> = -1
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d439e3ceeb4590d310f6125aa12c6df6"></a><!-- doxytag: member="XMP_Const.h::XMP_StringPtr" ref="d439e3ceeb4590d310f6125aa12c6df6" args="" -->
+typedef const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for input string parameters. A <code>const char *</code>, a null-terminated UTF-8 string. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f7dcc184f901c713274edfdac5bcc9a"></a><!-- doxytag: member="XMP_Const.h::XMP_StringLen" ref="9f7dcc184f901c713274edfdac5bcc9a" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00e9d9a76c144421105a4c2742203315"></a><!-- doxytag: member="XMP_Const.h::XMP_Index" ref="00e9d9a76c144421105a4c2742203315" args="" -->
+typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb865118433be92d88e5f49ed11487c8"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionBits" ref="eb865118433be92d88e5f49ed11487c8" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for a collection of 32 flag bits. Individual flags are defined as enum value bit masks; see <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> and following. A number of macros provide common set or set operations, such as <code>XMP_PropIsSimple</code>. For other tests use an expression like <code>options &amp; kXMP_&lt;theOption&gt;</code>. When passing multiple option flags use the bitwise-OR operator. '|', not the arithmatic plus, '+'. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="377e4a668de99ce6ed176cef5aaf3fcd"></a><!-- doxytag: member="XMP_Const.h::XMP_TriState" ref="377e4a668de99ce6ed176cef5aaf3fcd" args="" -->
+typedef XMP_Int8&nbsp;</td><td class="memItemRight" valign="bottom"><b>XMP_TriState</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="673355818b7b9224e8fec0fbc60ba00c"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_TIFF" ref="673355818b7b9224e8fec0fbc60ba00c" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#673355818b7b9224e8fec0fbc60ba00c">kXMP_NS_TIFF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/tiff/1.0/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's TIFF schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7dc4d65bcbba2862e410cc8cfdff6f6"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Job" ref="c7dc4d65bcbba2862e410cc8cfdff6f6" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#c7dc4d65bcbba2862e410cc8cfdff6f6">kXMP_NS_XMP_ST_Job</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Job#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the JobRef type. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="97564c70460d1f235c8a41b8ac40cfe9"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XML" ref="97564c70460d1f235c8a41b8ac40cfe9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#97564c70460d1f235c8a41b8ac40cfe9">kXMP_NS_XML</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/XML/1998/namespace&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for XML. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff1df9f3cf050f8b8d3a574db3c3326b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NoOptions" ref="ff1df9f3cf050f8b8d3a574db3c3326b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ff1df9f3cf050f8b8d3a574db3c3326b">kXMP_NoOptions</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)0UL)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro clears all property-type bits. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#1d41f53bd1d5c88fad8322ce15e39516">XMP_OptionIsClear</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) == 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is clear. <a href="#1d41f53bd1d5c88fad8322ce15e39516"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#193b1414fa5312da2aa1d833b85612d0">XMP_PropIsAlias</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsAlias) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#193b1414fa5312da2aa1d833b85612d0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#93e7900e6c9fb4057dfd685b5201057d">XMP_CharFromSerializeForm</a>(sf)&nbsp;&nbsp;&nbsp;( (XMP_Uns8)(sf) )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>. <a href="#93e7900e6c9fb4057dfd685b5201057d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a9b77b60c63781a8776f10880856bf4"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownOffset" ref="6a9b77b60c63781a8776f10880856bf4" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#6a9b77b60c63781a8776f10880856bf4">kXMPFiles_UnknownOffset</a>&nbsp;&nbsp;&nbsp;((XMP_Int64)-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet offset within a file. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0901aabcf619f17cff03f08e5ed3658"></a><!-- doxytag: member="XMP_Const.h::kXMPFiles_UnknownLength" ref="e0901aabcf619f17cff03f08e5ed3658" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#e0901aabcf619f17cff03f08e5ed3658">kXMPFiles_UnknownLength</a>&nbsp;&nbsp;&nbsp;((XMP_Int32)-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for an unknown packet length within a file. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">XML namespace constants for standard XMP schema.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="030875c9dc0861c9251a3374ca14a376"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP" ref="030875c9dc0861c9251a3374ca14a376" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#030875c9dc0861c9251a3374ca14a376">kXMP_NS_XMP</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP "basic" schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e52d761e5a4fc8c8499215d2f3d82b90"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Rights" ref="e52d761e5a4fc8c8499215d2f3d82b90" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#e52d761e5a4fc8c8499215d2f3d82b90">kXMP_NS_XMP_Rights</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/rights/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP copyright schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c67379a9ffa425d0d7976a51c4f2f754"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_MM" ref="c67379a9ffa425d0d7976a51c4f2f754" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#c67379a9ffa425d0d7976a51c4f2f754">kXMP_NS_XMP_MM</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/mm/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP digital asset management schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="308e156c325618acb2172e550929ebee"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_BJ" ref="308e156c325618acb2172e550929ebee" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#308e156c325618acb2172e550929ebee">kXMP_NS_XMP_BJ</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/bj/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the job management schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bcb67d0dd0922504e3da7ca5c40c82a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_PDF" ref="0bcb67d0dd0922504e3da7ca5c40c82a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#0bcb67d0dd0922504e3da7ca5c40c82a">kXMP_NS_PDF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/pdf/1.3/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the PDF schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1a6f38ebfcdb281c5bf2809859167c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_Photoshop" ref="a1a6f38ebfcdb281c5bf2809859167c7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a1a6f38ebfcdb281c5bf2809859167c7">kXMP_NS_Photoshop</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/photoshop/1.0/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Photoshop custom schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d12182e1df1652f56b5eec60c1fcdd8f"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_EXIF" ref="d12182e1df1652f56b5eec60c1fcdd8f" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#d12182e1df1652f56b5eec60c1fcdd8f">kXMP_NS_EXIF</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/exif/1.0/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for Adobe's EXIF schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a2d9c5f7beb27553214a7ad1df4f27e"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T" ref="0a2d9c5f7beb27553214a7ad1df4f27e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#0a2d9c5f7beb27553214a7ad1df4f27e">kXMP_NS_XMP_T</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP text document schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39afb495ffb24bb3082493c6811e65d0"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_T_PG" ref="39afb495ffb24bb3082493c6811e65d0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#39afb495ffb24bb3082493c6811e65d0">kXMP_NS_XMP_T_PG</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/t/pg/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the XMP paged document schema. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">XML namespace constants for qualifiers and structured property fields.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b466db52a4b85cecfa04710682c1e671"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_IdentifierQual" ref="b466db52a4b85cecfa04710682c1e671" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b466db52a4b85cecfa04710682c1e671">kXMP_NS_XMP_IdentifierQual</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xmp/Identifier/qual/1.0/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for qualifiers of the xmp:Identifier property. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9618e013619aa92ebc808b62243d2ba8"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Dimensions" ref="9618e013619aa92ebc808b62243d2ba8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9618e013619aa92ebc808b62243d2ba8">kXMP_NS_XMP_Dimensions</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Dimensions#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Dimensions type. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="935641acc7d01e782ad7a457a7ff338b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_Image" ref="935641acc7d01e782ad7a457a7ff338b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#935641acc7d01e782ad7a457a7ff338b">kXMP_NS_XMP_Image</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/g/img/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of a graphical image. Used for the Thumbnail type. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="861613273127156050b456eee11f6b0a"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceEvent" ref="861613273127156050b456eee11f6b0a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#861613273127156050b456eee11f6b0a">kXMP_NS_XMP_ResourceEvent</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceEvent#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceEvent type. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9bf51f2653400645f7b5087e8c4e1c77"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ResourceRef" ref="9bf51f2653400645f7b5087e8c4e1c77" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9bf51f2653400645f7b5087e8c4e1c77">kXMP_NS_XMP_ResourceRef</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/ResourceRef#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the ResourceRef type. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4923bed71ab29c6aa88debe8816c0a2"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_XMP_ST_Version" ref="b4923bed71ab29c6aa88debe8816c0a2" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b4923bed71ab29c6aa88debe8816c0a2">kXMP_NS_XMP_ST_Version</a>&nbsp;&nbsp;&nbsp;&quot;http://ns.adobe.com/xap/1.0/sType/Version#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for fields of the Version type. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">XML namespace constants from outside Adobe.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44453f0d0a1dd295d41722c2387b36fa"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_DC" ref="44453f0d0a1dd295d41722c2387b36fa" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#44453f0d0a1dd295d41722c2387b36fa">kXMP_NS_DC</a>&nbsp;&nbsp;&nbsp;&quot;http://purl.org/dc/elements/1.1/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the Dublin Core schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b794d3d798daf75a963398347dcbb79b"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_IPTCCore" ref="b794d3d798daf75a963398347dcbb79b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b794d3d798daf75a963398347dcbb79b">kXMP_NS_IPTCCore</a>&nbsp;&nbsp;&nbsp;&quot;http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for the IPTC Core schema. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="276fac0f70893607afa3f09030ad84c7"></a><!-- doxytag: member="XMP_Const.h::kXMP_NS_RDF" ref="276fac0f70893607afa3f09030ad84c7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#276fac0f70893607afa3f09030ad84c7">kXMP_NS_RDF</a>&nbsp;&nbsp;&nbsp;&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The XML namespace for RDF. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Macros for standard option selections.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9549b9a138a896257b5a70176d125317"></a><!-- doxytag: member="XMP_Const.h::kXMP_ArrayLastItem" ref="9549b9a138a896257b5a70176d125317" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#9549b9a138a896257b5a70176d125317">kXMP_ArrayLastItem</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#00e9d9a76c144421105a4c2742203315">XMP_Index</a>)(-1L))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro accesses last array item. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8283c9596c03b6d626d5a2b7a90e23ab"></a><!-- doxytag: member="XMP_Const.h::kXMP_UseNullTermination" ref="8283c9596c03b6d626d5a2b7a90e23ab" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8283c9596c03b6d626d5a2b7a90e23ab">kXMP_UseNullTermination</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>)(~0UL))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Options macro sets string style. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Macros for setting and testing general option bits.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#69c4d1b80c4dd581366e0c60209ef612">XMP_SetOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var |= (opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro sets an option flag bit. <a href="#69c4d1b80c4dd581366e0c60209ef612"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#10c3c9b1b6e266b0b4eb6abe7b03b7d8">XMP_ClearOption</a>(var, opt)&nbsp;&nbsp;&nbsp;var &amp;= ~(opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro clears an option flag bit. <a href="#10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a31596e850cb6b208f5920833d67b9f1">XMP_TestOption</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#a31596e850cb6b208f5920833d67b9f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ba3edaa921326c7916adb0b70b1bcfb4">XMP_OptionIsSet</a>(var, opt)&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports whether an option flag bit is set. <a href="#ba3edaa921326c7916adb0b70b1bcfb4"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Macros for setting and testing specific option bits.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#510b75338bd488ddd8d9bd4e326806f9">XMP_PropIsSimple</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropCompositeMask) == 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#510b75338bd488ddd8d9bd4e326806f9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ebea8c35e09da7db613e27d0e3ce945f">XMP_PropIsStruct</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsStruct) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#ebea8c35e09da7db613e27d0e3ce945f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#98ae521b621cfa3611211e3922a0fce8">XMP_PropIsArray</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsArray) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#98ae521b621cfa3611211e3922a0fce8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8d763b3d36c7067cd7bccd32d4066b43">XMP_ArrayIsUnordered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#8d763b3d36c7067cd7bccd32d4066b43"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#72c7077f3ff3e39804a899533867327d">XMP_ArrayIsOrdered</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#72c7077f3ff3e39804a899533867327d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#86bc34c4e64dec75618c348163a88720">XMP_ArrayIsAlternate</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#86bc34c4e64dec75618c348163a88720"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#bbef21da7bce1491f780586c3e01cd9e">XMP_ArrayIsAltText</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAltText) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#bbef21da7bce1491f780586c3e01cd9e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#10828aa191aa666aa1166c27beead2a6">XMP_PropHasQualifiers</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasQualifiers) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#10828aa191aa666aa1166c27beead2a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8d1b4da6b3cb3a67bf4f8e79352eeeaa">XMP_PropIsQualifier</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsQualifier) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#7dc82df90f45b0d746b67d8fdc529c83">XMP_PropHasLang</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasLang) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#7dc82df90f45b0d746b67d8fdc529c83"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#12870d8442720ce5230791abc26f9597">XMP_NodeIsSchema</a>(opt)&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_SchemaNode) != 0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the property type specified by an options flag. <a href="#12870d8442720ce5230791abc26f9597"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Macros to test components of the character form mask</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a7596216164335f926cb91d600cddf99">XMP_CharFormIs16Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#a7596216164335f926cb91d600cddf99"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#1e99ef08266943f52f5c649ab2836ddf">XMP_CharFormIs32Bit</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the encoding of a character. <a href="#1e99ef08266943f52f5c649ab2836ddf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#ba2539629b8d238fc56a1901dd07ebca">XMP_CharFormIsBigEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#ba2539629b8d238fc56a1901dd07ebca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#906ec1cd2fb1631c1b5ad9ccdf9c0a6b">XMP_CharFormIsLittleEndian</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-order of a character. <a href="#906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#85bbf023b1b799c3c20176aa289d32b0">XMP_GetCharSize</a>(f)&nbsp;&nbsp;&nbsp;( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro reports the byte-size of a character. <a href="#85bbf023b1b799c3c20176aa289d32b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8f522964919b742b4138c79611997bae">XMP_CharToSerializeForm</a>(cf)&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>. <a href="#8f522964919b742b4138c79611997bae"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPMeta__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPIterator__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPDocOps__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct __XMPFiles__ *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="300d9a9189cb4ddb6970d05389f5c28e"></a><!-- doxytag: member="XMP_Const.h::XMP_FileFormat" ref="300d9a9189cb4ddb6970d05389f5c28e" args="" -->
+typedef XMP_Uns32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for file format identification constants. See <code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" title="Public file format constant: &#39;PDF &#39;.">kXMP_PDFFile</a></code> and following. <br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Special purpose callback functions</div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XMP_Int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a> )(void *refCon, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> )(void *arg)</td></tr>
+
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801">kXMP_TimeWestOfUTC</a> = -1,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13">kXMP_TimeIsUTC</a> = 0,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec">kXMP_TimeEastOfUTC</a> = +1
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant values for <code><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime::tzSign</a></code> field. <a href="XMP__Const_8h.html#df764cbdea00d65edcd07bb9953ad2b7">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb">kXMP_PropValueIsURI</a> = 0x00000002UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159">kXMP_PropHasQualifiers</a> = 0x00000010UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe">kXMP_PropIsQualifier</a> = 0x00000020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217">kXMP_PropHasLang</a> = 0x00000040UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5">kXMP_PropHasType</a> = 0x00000080UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e">kXMP_PropValueIsStruct</a> = 0x00000100UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a> = 0x00000200UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0">kXMP_PropArrayIsUnordered</a> = kXMP_PropValueIsArray,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04">kXMP_PropArrayIsOrdered</a> = 0x00000400UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1">kXMP_PropArrayIsAlternate</a> = 0x00000800UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a> = 0x00001000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37">kXMP_PropIsAlias</a> = 0x00010000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0">kXMP_PropHasAliases</a> = 0x00020000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464">kXMP_PropIsInternal</a> = 0x00040000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c">kXMP_PropIsStable</a> = 0x00100000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877">kXMP_PropIsDerived</a> = 0x00200000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f">kXMP_PropArrayFormMask</a> = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956">kXMP_PropCompositeMask</a> = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974">kXMP_ImplReservedMask</a> = 0x70000000L
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions. <a href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f">kXMP_InsertBeforeItem</a> = 0x00004000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05">kXMP_InsertAfterItem</a> = 0x00008000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c">kXMP_DeleteExisting</a> = 0x20000000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465">kXMP_PropValueOptionsMask</a> = kXMP_PropValueIsURI,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df">kXMP_PropArrayLocationMask</a> = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400">kXMP_RequireXMPMeta</a> = 0x0001UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e">kXMP_ParseMoreBuffers</a> = 0x0002UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1">kXMP_StrictAliasing</a> = 0x0004UL
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>. <a href="XMP__Const_8h.html#dc29c2ff13d900c2f185ee95427fb06c">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76">kXMP_OmitPacketWrapper</a> = 0x0010UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6">kXMP_ReadOnlyPacket</a> = 0x0020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb">kXMP_UseCompactFormat</a> = 0x0040UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a">kXMP_IncludeThumbnailPad</a> = 0x0100UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6">kXMP_ExactPacketLength</a> = 0x0200UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654">kXMP_WriteAliasComments</a> = 0x0400UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29">kXMP_OmitAllFormatting</a> = 0x0800UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856">kXMP_OmitXMPMetaElement</a> = 0x1000UL
+, <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845">kXMP_EncodingMask</a> = 0x0007UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab">kXMP_EncodeUTF8</a> = 0UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d">kXMP_EncodeUTF16Big</a> = _XMP_UTF16_Bit,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830">kXMP_EncodeUTF16Little</a> = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713">kXMP_EncodeUTF32Big</a> = _XMP_UTF32_Bit,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e">kXMP_EncodeUTF32Little</a> = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>. <a href="XMP__Const_8h.html#61dadd085c1777f559549e05962b2c9e">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044">kXMP_IterClassMask</a> = 0x00FFUL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b">kXMP_IterProperties</a> = 0x0000UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9">kXMP_IterAliases</a> = 0x0001UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b">kXMP_IterNamespaces</a> = 0x0002UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed">kXMP_IterJustChildren</a> = 0x0100UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19">kXMP_IterJustLeafNodes</a> = 0x0200UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344">kXMP_IterJustLeafName</a> = 0x0400UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08">kXMP_IterIncludeAliases</a> = 0x0800UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101">kXMP_IterOmitQualifiers</a> = 0x1000UL
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction. <a href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e">kXMP_IterSkipSubtree</a> = 0x0001UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12">kXMP_IterSkipSiblings</a> = 0x0002UL
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>. <a href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506">kXMPUtil_AllowCommas</a> = 0x10000000UL
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb">kXMPUtil_DoAllProperties</a> = 0x0001UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962">kXMPUtil_ReplaceOldValues</a> = 0x0002UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9">kXMPUtil_DeleteEmptyValues</a> = 0x0004UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b">kXMPUtil_IncludeAliases</a> = 0x0800UL
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">TXMPUtils::AppendProperties()</a></code>. <a href="XMP__Const_8h.html#b04a0655cd1e3bcac5e8f48c18df1a57">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb">kXMP_PDFFile</a> = 0x50444620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70">kXMP_PostScriptFile</a> = 0x50532020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e">kXMP_EPSFile</a> = 0x45505320UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487">kXMP_JPEGFile</a> = 0x4A504547UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d">kXMP_JPEG2KFile</a> = 0x4A505820UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08">kXMP_TIFFFile</a> = 0x54494646UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06">kXMP_GIFFile</a> = 0x47494620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371">kXMP_PNGFile</a> = 0x504E4720UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597">kXMP_SWFFile</a> = 0x53574620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9">kXMP_FLAFile</a> = 0x464C4120UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f">kXMP_FLVFile</a> = 0x464C5620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37">kXMP_MOVFile</a> = 0x4D4F5620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e">kXMP_AVIFile</a> = 0x41564920UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb">kXMP_CINFile</a> = 0x43494E20UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8">kXMP_WAVFile</a> = 0x57415620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b">kXMP_MP3File</a> = 0x4D503320UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9">kXMP_SESFile</a> = 0x53455320UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789">kXMP_CELFile</a> = 0x43454C20UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8">kXMP_MPEGFile</a> = 0x4D504547UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a">kXMP_MPEG2File</a> = 0x4D503220UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91">kXMP_MPEG4File</a> = 0x4D503420UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622">kXMP_WMAVFile</a> = 0x574D4156UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3">kXMP_AIFFFile</a> = 0x41494646UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34">kXMP_P2File</a> = 0x50322020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57">kXMP_XDCAM_FAMFile</a> = 0x58444346UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852">kXMP_XDCAM_SAMFile</a> = 0x58444353UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc">kXMP_XDCAM_EXFile</a> = 0x58444358UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2">kXMP_AVCHDFile</a> = 0x41564844UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e">kXMP_SonyHDVFile</a> = 0x53484456UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760">kXMP_HTMLFile</a> = 0x48544D4CUL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124">kXMP_XMLFile</a> = 0x584D4C20UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd">kXMP_TextFile</a> = 0x74657874UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c">kXMP_PhotoshopFile</a> = 0x50534420UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554">kXMP_IllustratorFile</a> = 0x41492020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60">kXMP_InDesignFile</a> = 0x494E4444UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e">kXMP_AEProjectFile</a> = 0x41455020UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df">kXMP_AEProjTemplateFile</a> = 0x41455420UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0">kXMP_AEFilterPresetFile</a> = 0x46465820UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a">kXMP_EncoreProjectFile</a> = 0x4E434F52UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d">kXMP_PremiereProjectFile</a> = 0x5052504AUL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a">kXMP_PremiereTitleFile</a> = 0x5052544CUL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96">kXMP_UCFFile</a> = 0x55434620UL,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719">kXMP_UnknownFile</a> = 0x20202020UL
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File format constants for use with XMPFiles. <a href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b940388">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte-order masks, do not use directly. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637">kXMP_Char8Bit</a> = 0,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d">kXMP_Char16BitBig</a> = kXMP_Char16BitMask,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa">kXMP_Char16BitLittle</a> = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc">kXMP_Char32BitBig</a> = kXMP_Char32BitMask,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e">kXMP_Char32BitLittle</a> = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b">kXMP_CharUnknown</a> = 1
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constants to allow easy testing for 16/32 bit and big/little endian. <a href="XMP__Const_8h.html#c36f475ca5b446f4fde4c9b90bec77c8">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817">kXMP_PacketInfoVersion</a> = 3
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. <a href="XMP__Const_8h.html#05589fbab0657f08285ebdfe93f5ec9e">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6">kXMP_UnknownTNail</a> = 0,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321">kXMP_JPEGTNail</a> = 1,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951">kXMP_TIFFTNail</a> = 2,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab">kXMP_PShopTNail</a> = 3
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Values for <code><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">XMP_ThumbnailInfo::tnailFormat</a></code>. <a href="XMP__Const_8h.html#16af7b253440dadd46a80a4b9fddba4d">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be">kXMP_ThumbnailInfoVersion</a> = 1
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type. <a href="XMP__Const_8h.html#ba01db17f4a2bfbc3db60dc172972a25">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9">kXMPFiles_NoQuickTimeInit</a> = 0x0001
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>. <a href="XMP__Const_8h.html#af105ae5beaca1dee30ae54530691fce">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388">kXMPFiles_CanInjectXMP</a> = 0x00000001,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c">kXMPFiles_CanExpand</a> = 0x00000002,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07">kXMPFiles_CanRewrite</a> = 0x00000004,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3">kXMPFiles_PrefersInPlace</a> = 0x00000008,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694">kXMPFiles_CanReconcile</a> = 0x00000010,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733">kXMPFiles_AllowsOnlyXMP</a> = 0x00000020,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea">kXMPFiles_ReturnsRawPacket</a> = 0x00000040,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09">kXMPFiles_ReturnsTNail</a> = 0x00000080,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4">kXMPFiles_HandlerOwnsFile</a> = 0x00000100,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd">kXMPFiles_AllowsSafeUpdate</a> = 0x00000200,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999">kXMPFiles_NeedsReadOnlyPacket</a> = 0x00000400,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c">kXMPFiles_UsesSidecarXMP</a> = 0x00000800,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd">kXMPFiles_FolderBasedFormat</a> = 0x00001000
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>. <a href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2">kXMPFiles_OpenForRead</a> = 0x00000001,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b">kXMPFiles_OpenForUpdate</a> = 0x00000002,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96">kXMPFiles_OpenOnlyXMP</a> = 0x00000004,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063">kXMPFiles_OpenCacheTNail</a> = 0x00000008,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18">kXMPFiles_OpenStrictly</a> = 0x00000010,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646">kXMPFiles_OpenUseSmartHandler</a> = 0x00000020,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285">kXMPFiles_OpenUsePacketScanning</a> = 0x00000040,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182">kXMPFiles_OpenLimitedScanning</a> = 0x00000080,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a">kXMPFiles_OpenRepairFile</a> = 0x00000100,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34">kXMPFiles_OpenInBackground</a> = 0x10000000
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>. <a href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54">kXMPFiles_UpdateSafely</a> = 0x0001
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Option bit flags for <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>. <a href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960">More...</a><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Errors Exception handling</div></td></tr>
+<tr><td colspan="2"><div class="groupText">XMP Tookit errors result in throwing an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> exception. Any exception thrown within the XMP Toolkit is caught in the toolkit and rethrown as an <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code>.<p>
+The <code><a class="el" href="classXMP__Error.html" title="XMP Toolkit error, associates an error code with a descriptive error string.">XMP_Error</a></code> class contains a numeric code and an English explanation. New numeric codes may be added at any time. There are typically many possible explanations for each numeric code. The explanations try to be precise about the specific circumstances causing the error.<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The explanation string is for debugging use only. It must not be shown to users in a final product. It is written for developers not users, and never localized. </dd></dl>
+<br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581">kXMPErr_Unknown</a> = 0,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1">kXMPErr_TBD</a> = 1,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3">kXMPErr_Unavailable</a> = 2,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1">kXMPErr_BadObject</a> = 3,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1">kXMPErr_BadParam</a> = 4,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a">kXMPErr_BadValue</a> = 5,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6">kXMPErr_AssertFailure</a> = 6,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b">kXMPErr_EnforceFailure</a> = 7,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2">kXMPErr_Unimplemented</a> = 8,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0">kXMPErr_InternalFailure</a> = 9,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7">kXMPErr_Deprecated</a> = 10,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb">kXMPErr_ExternalFailure</a> = 11,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195">kXMPErr_UserAbort</a> = 12,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb">kXMPErr_StdException</a> = 13,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4">kXMPErr_UnknownException</a> = 14,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813">kXMPErr_NoMemory</a> = 15,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539">kXMPErr_BadSchema</a> = 101,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7">kXMPErr_BadXPath</a> = 102,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444">kXMPErr_BadOptions</a> = 103,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010">kXMPErr_BadIndex</a> = 104,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9">kXMPErr_BadIterPosition</a> = 105,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8">kXMPErr_BadParse</a> = 106,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9">kXMPErr_BadSerialize</a> = 107,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8">kXMPErr_BadFileFormat</a> = 108,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795">kXMPErr_NoFileHandler</a> = 109,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b">kXMPErr_TooLargeForJPEG</a> = 110,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5">kXMPErr_BadXML</a> = 201,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e">kXMPErr_BadRDF</a> = 202,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821">kXMPErr_BadXMP</a> = 203,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179">kXMPErr_EmptyIterator</a> = 204,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f">kXMPErr_BadUnicode</a> = 205,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d">kXMPErr_BadTIFF</a> = 206,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee">kXMPErr_BadJPEG</a> = 207,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d">kXMPErr_BadPSD</a> = 208,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3">kXMPErr_BadPSIR</a> = 209,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e">kXMPErr_BadIPTC</a> = 210,
+<br>
+&nbsp;&nbsp;<a class="el" href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad">kXMPErr_BadMPEG</a> = 211
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception code constants. <a href="XMP__Const_8h.html#db49720dc49f7d4e4cf9adbf2948e409">More...</a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Common C/C++ types and constants for the XMP toolkit.
+<p>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="2dc55b533ed63ed7ff0c3be16a97e278"></a><!-- doxytag: member="XMP_Const.h::kXMP_FalseStr" ref="2dc55b533ed63ed7ff0c3be16a97e278" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define kXMP_FalseStr&nbsp;&nbsp;&nbsp;&quot;False&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The canonical false string value for Booleans in serialized XMP.
+<p>
+Code that converts from string to bool should be case insensitive, and also allow "0".
+</div>
+</div><p>
+<a class="anchor" name="4c39e0131b0e3d7db66e1cfa82b67141"></a><!-- doxytag: member="XMP_Const.h::kXMP_TrueStr" ref="4c39e0131b0e3d7db66e1cfa82b67141" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define kXMP_TrueStr&nbsp;&nbsp;&nbsp;&quot;True&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The canonical true string value for Booleans in serialized XMP.
+<p>
+Code that converts from string to bool should be case insensitive, and also allow "1".
+</div>
+</div><p>
+<a class="anchor" name="86bc34c4e64dec75618c348163a88720"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAlternate" ref="86bc34c4e64dec75618c348163a88720" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_ArrayIsAlternate </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAlternate) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bbef21da7bce1491f780586c3e01cd9e"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsAltText" ref="bbef21da7bce1491f780586c3e01cd9e" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_ArrayIsAltText </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsAltText) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="72c7077f3ff3e39804a899533867327d"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsOrdered" ref="72c7077f3ff3e39804a899533867327d" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_ArrayIsOrdered </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8d763b3d36c7067cd7bccd32d4066b43"></a><!-- doxytag: member="XMP_Const.h::XMP_ArrayIsUnordered" ref="8d763b3d36c7067cd7bccd32d4066b43" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_ArrayIsUnordered </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropArrayIsOrdered) == 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a7596216164335f926cb91d600cddf99"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs16Bit" ref="a7596216164335f926cb91d600cddf99" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharFormIs16Bit </td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char16BitMask) != 0 )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the encoding of a character.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1e99ef08266943f52f5c649ab2836ddf"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIs32Bit" ref="1e99ef08266943f52f5c649ab2836ddf" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharFormIs32Bit </td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_Char32BitMask) != 0 )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the encoding of a character.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ba2539629b8d238fc56a1901dd07ebca"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsBigEndian" ref="ba2539629b8d238fc56a1901dd07ebca" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharFormIsBigEndian </td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) == 0 )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the byte-order of a character.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="906ec1cd2fb1631c1b5ad9ccdf9c0a6b"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFormIsLittleEndian" ref="906ec1cd2fb1631c1b5ad9ccdf9c0a6b" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharFormIsLittleEndian </td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( ((int)(f) &amp; kXMP_CharLittleEndianMask) != 0 )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the byte-order of a character.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="93e7900e6c9fb4057dfd685b5201057d"></a><!-- doxytag: member="XMP_Const.h::XMP_CharFromSerializeForm" ref="93e7900e6c9fb4057dfd685b5201057d" args="(sf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharFromSerializeForm </td>
+ <td>(</td>
+ <td class="paramtype">sf&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( (XMP_Uns8)(sf) )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro converts <code>XMP_OptionBits</code> to <code>XMP_Uns8</code>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sf</em>&nbsp;</td><td>The character to convert. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8f522964919b742b4138c79611997bae"></a><!-- doxytag: member="XMP_Const.h::XMP_CharToSerializeForm" ref="8f522964919b742b4138c79611997bae" args="(cf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_CharToSerializeForm </td>
+ <td>(</td>
+ <td class="paramtype">cf&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>)(cf) )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro converts <code>XMP_Uns8</code> to <code>XMP_OptionBits</code>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>cf</em>&nbsp;</td><td>The character to convert. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="10c3c9b1b6e266b0b4eb6abe7b03b7d8"></a><!-- doxytag: member="XMP_Const.h::XMP_ClearOption" ref="10c3c9b1b6e266b0b4eb6abe7b03b7d8" args="(var, opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_ClearOption </td>
+ <td>(</td>
+ <td class="paramtype">var, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;var &amp;= ~(opt)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro clears an option flag bit.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to clear. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="85bbf023b1b799c3c20176aa289d32b0"></a><!-- doxytag: member="XMP_Const.h::XMP_GetCharSize" ref="85bbf023b1b799c3c20176aa289d32b0" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_GetCharSize </td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;( ((int)(f)&amp;6) == 0 ? 1 : (int)(f)&amp;6 )</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the byte-size of a character.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>The character to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="12870d8442720ce5230791abc26f9597"></a><!-- doxytag: member="XMP_Const.h::XMP_NodeIsSchema" ref="12870d8442720ce5230791abc26f9597" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_NodeIsSchema </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_SchemaNode) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1d41f53bd1d5c88fad8322ce15e39516"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsClear" ref="1d41f53bd1d5c88fad8322ce15e39516" args="(var, opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_OptionIsClear </td>
+ <td>(</td>
+ <td class="paramtype">var, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) == 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports whether an option flag bit is clear.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is clear. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ba3edaa921326c7916adb0b70b1bcfb4"></a><!-- doxytag: member="XMP_Const.h::XMP_OptionIsSet" ref="ba3edaa921326c7916adb0b70b1bcfb4" args="(var, opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_OptionIsSet </td>
+ <td>(</td>
+ <td class="paramtype">var, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports whether an option flag bit is set.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7dc82df90f45b0d746b67d8fdc529c83"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasLang" ref="7dc82df90f45b0d746b67d8fdc529c83" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropHasLang </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasLang) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="10828aa191aa666aa1166c27beead2a6"></a><!-- doxytag: member="XMP_Const.h::XMP_PropHasQualifiers" ref="10828aa191aa666aa1166c27beead2a6" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropHasQualifiers </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropHasQualifiers) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="193b1414fa5312da2aa1d833b85612d0"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsAlias" ref="193b1414fa5312da2aa1d833b85612d0" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropIsAlias </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsAlias) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="98ae521b621cfa3611211e3922a0fce8"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsArray" ref="98ae521b621cfa3611211e3922a0fce8" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropIsArray </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsArray) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8d1b4da6b3cb3a67bf4f8e79352eeeaa"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsQualifier" ref="8d1b4da6b3cb3a67bf4f8e79352eeeaa" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropIsQualifier </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropIsQualifier) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="510b75338bd488ddd8d9bd4e326806f9"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsSimple" ref="510b75338bd488ddd8d9bd4e326806f9" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropIsSimple </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropCompositeMask) == 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ebea8c35e09da7db613e27d0e3ce945f"></a><!-- doxytag: member="XMP_Const.h::XMP_PropIsStruct" ref="ebea8c35e09da7db613e27d0e3ce945f" args="(opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_PropIsStruct </td>
+ <td>(</td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((opt) &amp; kXMP_PropValueIsStruct) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports the property type specified by an options flag.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The options flag to check. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="69c4d1b80c4dd581366e0c60209ef612"></a><!-- doxytag: member="XMP_Const.h::XMP_SetOption" ref="69c4d1b80c4dd581366e0c60209ef612" args="(var, opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_SetOption </td>
+ <td>(</td>
+ <td class="paramtype">var, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;var |= (opt)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro sets an option flag bit.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to set. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a31596e850cb6b208f5920833d67b9f1"></a><!-- doxytag: member="XMP_Const.h::XMP_TestOption" ref="a31596e850cb6b208f5920833d67b9f1" args="(var, opt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XMP_TestOption </td>
+ <td>(</td>
+ <td class="paramtype">var, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">opt&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((var) &amp; (opt)) != 0)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Macro reports whether an option flag bit is set.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>A variable storing an options flag. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>opt</em>&nbsp;</td><td>The bit-flag constant to test. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the bit is set. </dd></dl>
+
+</div>
+</div><p>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="a2738ce2fca7f1809b12834b1b5e2d0e"></a><!-- doxytag: member="XMP_Const.h::XMP_AbortProc" ref="a2738ce2fca7f1809b12834b1b5e2d0e" args=")(void *arg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef bool(* <a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>)(void *arg) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>A pointer to caller-defined data passed from the registration call.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True to abort the current operation, which results in an exception being thrown.</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">TXMPFiles::SetAbortProc()</a></code> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="05b81829c04746826f4f85fbac76e3dd"></a><!-- doxytag: member="XMP_Const.h::XMP_Status" ref="05b81829c04746826f4f85fbac76e3dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef XMP_Int32 <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A signed 32-bit integer used as a status result for the output callback routine, <code>XMP_TextOutputProc</code>. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1.
+</div>
+</div><p>
+<a class="anchor" name="8ce3570e6e5ac14cd603e96fa9d2936f"></a><!-- doxytag: member="XMP_Const.h::XMP_TextOutputProc" ref="8ce3570e6e5ac14cd603e96fa9d2936f" args=")(void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="XMP__Const_8h.html#05b81829c04746826f4f85fbac76e3dd">XMP_Status</a>(* <a class="el" href="XMP__Const_8h.html#8ce3570e6e5ac14cd603e96fa9d2936f">XMP_TextOutputProc</a>)(void *refCon, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> buffer, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> bufferSize) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The signature of a client-defined callback for text output from XMP Toolkit debugging operations. The callback is invoked one or more times for each line of output. The end of a line is signaled by a '\n' character at the end of the buffer. Formatting newlines are never present in the middle of a buffer, but values of properties might contain any UTF-8 characters.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>refCon</em>&nbsp;</td><td>A pointer to client-defined data passed to the TextOutputProc.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A string containing one line of output.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>bufferSize</em>&nbsp;</td><td>The number of characters in the output buffer.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A success/fail status value. Any failure result aborts the output.</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b516453dd7d906e911f8951983cde5f1"></a><!-- doxytag: member="XMP_Const.h::XMPDocOpsRef" ref="b516453dd7d906e911f8951983cde5f1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct __XMPDocOps__* <a class="el" href="XMP__Const_8h.html#b516453dd7d906e911f8951983cde5f1">XMPDocOpsRef</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See <code>TXMPDocOps</code>.
+</div>
+</div><p>
+<a class="anchor" name="a4bca98ad67d7a62c60cb13dbbab0f25"></a><!-- doxytag: member="XMP_Const.h::XMPFilesRef" ref="a4bca98ad67d7a62c60cb13dbbab0f25" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct __XMPFiles__* <a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.
+</div>
+</div><p>
+<a class="anchor" name="6ade57a30fb1e40d6aa9695c440fc3d2"></a><!-- doxytag: member="XMP_Const.h::XMPIteratorRef" ref="6ade57a30fb1e40d6aa9695c440fc3d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct __XMPIterator__* <a class="el" href="XMP__Const_8h.html#6ade57a30fb1e40d6aa9695c440fc3d2">XMPIteratorRef</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>.
+</div>
+</div><p>
+<a class="anchor" name="549d5e2cbcb58302d3df840a0205283e"></a><!-- doxytag: member="XMP_Const.h::XMPMetaRef" ref="549d5e2cbcb58302d3df840a0205283e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct __XMPMeta__* <a class="el" href="XMP__Const_8h.html#549d5e2cbcb58302d3df840a0205283e">XMPMetaRef</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See <code><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code>.
+</div>
+</div><p>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="XMP_Const.h::@0" ref="06fc87d81c62e9abb8790b6e5713c55b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes and values are true (non-zero), the no value is false (zero). <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e"></a><!-- doxytag: member="kXMPTS_Yes" ref="06fc87d81c62e9abb8790b6e5713c55bcf4bfe01497bd0d88c2af337e4bac39e" args="" -->kXMPTS_Yes</em>&nbsp;</td><td>
+The part or parts have definitely changed. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90"></a><!-- doxytag: member="kXMPTS_No" ref="06fc87d81c62e9abb8790b6e5713c55b2a88f4d4589bf413377283843f70bc90" args="" -->kXMPTS_No</em>&nbsp;</td><td>
+The part or parts have definitely not changed. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584"></a><!-- doxytag: member="kXMPTS_Maybe" ref="06fc87d81c62e9abb8790b6e5713c55b7a73219cd125bb21e294ba474112a584" args="" -->kXMPTS_Maybe</em>&nbsp;</td><td>
+The part or parts might, or might not, have changed. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="XMP_Const.h::@1" ref="df764cbdea00d65edcd07bb9953ad2b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constant values for <code><a class="el" href="structXMP__DateTime.html#2786ad8875bd59f07b8dc2b1d09c6f96">XMP_DateTime::tzSign</a></code> field.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801"></a><!-- doxytag: member="kXMP_TimeWestOfUTC" ref="df764cbdea00d65edcd07bb9953ad2b7511551ce156d5fd96c26ad464b837801" args="" -->kXMP_TimeWestOfUTC</em>&nbsp;</td><td>
+Time zone is west of UTC. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13"></a><!-- doxytag: member="kXMP_TimeIsUTC" ref="df764cbdea00d65edcd07bb9953ad2b73f41be55491204982acb39c9f6c7ad13" args="" -->kXMP_TimeIsUTC</em>&nbsp;</td><td>
+UTC time. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec"></a><!-- doxytag: member="kXMP_TimeEastOfUTC" ref="df764cbdea00d65edcd07bb9953ad2b768851b70cc1d2346fa21bc0b0ae6cfec" args="" -->kXMP_TimeEastOfUTC</em>&nbsp;</td><td>
+Time zone is east of UTC. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="385c44f6fb256e5716a2302a5b940388"></a><!-- doxytag: member="XMP_Const.h::@10" ref="385c44f6fb256e5716a2302a5b940388" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+File format constants for use with XMPFiles.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb"></a><!-- doxytag: member="kXMP_PDFFile" ref="385c44f6fb256e5716a2302a5b94038817ab6d429c1550eb3cc16d2e544b78eb" args="" -->kXMP_PDFFile</em>&nbsp;</td><td>
+Public file format constant: 'PDF '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70"></a><!-- doxytag: member="kXMP_PostScriptFile" ref="385c44f6fb256e5716a2302a5b94038852c90935ee28a0875a49843d463cad70" args="" -->kXMP_PostScriptFile</em>&nbsp;</td><td>
+Public file format constant: 'PS ', general PostScript following DSC conventions. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e"></a><!-- doxytag: member="kXMP_EPSFile" ref="385c44f6fb256e5716a2302a5b940388d947e6da0c4d923195d93e0c53a79c4e" args="" -->kXMP_EPSFile</em>&nbsp;</td><td>
+Public file format constant: 'EPS ', encapsulated PostScript. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487"></a><!-- doxytag: member="kXMP_JPEGFile" ref="385c44f6fb256e5716a2302a5b940388d752b2d3e1139e0745223a9385ef6487" args="" -->kXMP_JPEGFile</em>&nbsp;</td><td>
+Public file format constant: 'JPEG'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d"></a><!-- doxytag: member="kXMP_JPEG2KFile" ref="385c44f6fb256e5716a2302a5b94038878b8fa38aaa2067e3e1baa0dcaa7571d" args="" -->kXMP_JPEG2KFile</em>&nbsp;</td><td>
+Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08"></a><!-- doxytag: member="kXMP_TIFFFile" ref="385c44f6fb256e5716a2302a5b940388dc0edf25d933c2a21b25449692c3ba08" args="" -->kXMP_TIFFFile</em>&nbsp;</td><td>
+Public file format constant: 'TIFF'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06"></a><!-- doxytag: member="kXMP_GIFFile" ref="385c44f6fb256e5716a2302a5b940388851d2f4525d705cd2dcabb540d0ddc06" args="" -->kXMP_GIFFile</em>&nbsp;</td><td>
+Public file format constant: 'GIF '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371"></a><!-- doxytag: member="kXMP_PNGFile" ref="385c44f6fb256e5716a2302a5b940388c989381d37de320495e4d13f9ecc6371" args="" -->kXMP_PNGFile</em>&nbsp;</td><td>
+Public file format constant: 'PNG '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597"></a><!-- doxytag: member="kXMP_SWFFile" ref="385c44f6fb256e5716a2302a5b940388564a8095f65d951f451e16eb56650597" args="" -->kXMP_SWFFile</em>&nbsp;</td><td>
+Public file format constant: 'SWF '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9"></a><!-- doxytag: member="kXMP_FLAFile" ref="385c44f6fb256e5716a2302a5b940388b1eeba00d1d92e313acfe68cd054daf9" args="" -->kXMP_FLAFile</em>&nbsp;</td><td>
+Public file format constant: 'FLA '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f"></a><!-- doxytag: member="kXMP_FLVFile" ref="385c44f6fb256e5716a2302a5b940388455bc501088bbd8061fe3ea386a5066f" args="" -->kXMP_FLVFile</em>&nbsp;</td><td>
+Public file format constant: 'FLV '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37"></a><!-- doxytag: member="kXMP_MOVFile" ref="385c44f6fb256e5716a2302a5b940388ebdb172c8a75b4ead2eff2d26ed3dc37" args="" -->kXMP_MOVFile</em>&nbsp;</td><td>
+Public file format constant: 'MOV ', Quicktime. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e"></a><!-- doxytag: member="kXMP_AVIFile" ref="385c44f6fb256e5716a2302a5b940388e3a6333624e5c292caf14ad849a5e26e" args="" -->kXMP_AVIFile</em>&nbsp;</td><td>
+Public file format constant: 'AVI '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb"></a><!-- doxytag: member="kXMP_CINFile" ref="385c44f6fb256e5716a2302a5b940388d2935ea79b4f9253891e3a68a002c5bb" args="" -->kXMP_CINFile</em>&nbsp;</td><td>
+Public file format constant: 'CIN ', Cineon. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8"></a><!-- doxytag: member="kXMP_WAVFile" ref="385c44f6fb256e5716a2302a5b940388cc1fcd4e52423c0dd2966a2e92352fb8" args="" -->kXMP_WAVFile</em>&nbsp;</td><td>
+Public file format constant: 'WAV '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b"></a><!-- doxytag: member="kXMP_MP3File" ref="385c44f6fb256e5716a2302a5b940388f3ee34ed2bc26dec0e2d572eeb0de89b" args="" -->kXMP_MP3File</em>&nbsp;</td><td>
+Public file format constant: 'MP3 '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9"></a><!-- doxytag: member="kXMP_SESFile" ref="385c44f6fb256e5716a2302a5b94038842cb8767d9cf16eaeb7aec68a4f224e9" args="" -->kXMP_SESFile</em>&nbsp;</td><td>
+Public file format constant: 'SES ', Audition session. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789"></a><!-- doxytag: member="kXMP_CELFile" ref="385c44f6fb256e5716a2302a5b9403886c949ee85f42eaaed035591338be6789" args="" -->kXMP_CELFile</em>&nbsp;</td><td>
+Public file format constant: 'CEL ', Audition loop. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8"></a><!-- doxytag: member="kXMP_MPEGFile" ref="385c44f6fb256e5716a2302a5b940388043afdc1db730db9ac03c505140c61c8" args="" -->kXMP_MPEGFile</em>&nbsp;</td><td>
+Public file format constant: 'MPEG'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a"></a><!-- doxytag: member="kXMP_MPEG2File" ref="385c44f6fb256e5716a2302a5b940388b58eaebed494530072ad990ac7a9807a" args="" -->kXMP_MPEG2File</em>&nbsp;</td><td>
+Public file format constant: 'MP2 '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91"></a><!-- doxytag: member="kXMP_MPEG4File" ref="385c44f6fb256e5716a2302a5b94038889e6282c3f0c8966d788500f5d8eaa91" args="" -->kXMP_MPEG4File</em>&nbsp;</td><td>
+Public file format constant: 'MP4 ', ISO 14494-12 and -14. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622"></a><!-- doxytag: member="kXMP_WMAVFile" ref="385c44f6fb256e5716a2302a5b94038878c62f7c10b16b1a862d93f6226a4622" args="" -->kXMP_WMAVFile</em>&nbsp;</td><td>
+Public file format constant: 'WMAV', Windows Media Audio and Video. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3"></a><!-- doxytag: member="kXMP_AIFFFile" ref="385c44f6fb256e5716a2302a5b940388f093d01e7e9cc55a7d1e204498521fc3" args="" -->kXMP_AIFFFile</em>&nbsp;</td><td>
+Public file format constant: 'AIFF'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34"></a><!-- doxytag: member="kXMP_P2File" ref="385c44f6fb256e5716a2302a5b940388bad9584845edf66f2f8fc3c336977e34" args="" -->kXMP_P2File</em>&nbsp;</td><td>
+Public file format constant: 'P2 ', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57"></a><!-- doxytag: member="kXMP_XDCAM_FAMFile" ref="385c44f6fb256e5716a2302a5b9403885f78caa0871695cc92e058e4f4b2dd57" args="" -->kXMP_XDCAM_FAMFile</em>&nbsp;</td><td>
+Public file format constant: 'XDCF', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852"></a><!-- doxytag: member="kXMP_XDCAM_SAMFile" ref="385c44f6fb256e5716a2302a5b94038864fe7908df6341e13d9d8c8199cdf852" args="" -->kXMP_XDCAM_SAMFile</em>&nbsp;</td><td>
+Public file format constant: 'XDCS', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc"></a><!-- doxytag: member="kXMP_XDCAM_EXFile" ref="385c44f6fb256e5716a2302a5b94038845bf9b21d5ffed3594fbd585c47cc4fc" args="" -->kXMP_XDCAM_EXFile</em>&nbsp;</td><td>
+Public file format constant: 'XDCX', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2"></a><!-- doxytag: member="kXMP_AVCHDFile" ref="385c44f6fb256e5716a2302a5b940388fc5ff976e78df2d79d651de818b011f2" args="" -->kXMP_AVCHDFile</em>&nbsp;</td><td>
+Public file format constant: 'AVHD', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e"></a><!-- doxytag: member="kXMP_SonyHDVFile" ref="385c44f6fb256e5716a2302a5b940388a0edb070c11f87c3dad9f8f7a83b9b5e" args="" -->kXMP_SonyHDVFile</em>&nbsp;</td><td>
+Public file format constant: 'SHDV', a collection not really a single file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760"></a><!-- doxytag: member="kXMP_HTMLFile" ref="385c44f6fb256e5716a2302a5b940388542634e6051139c44fd7b92d08c64760" args="" -->kXMP_HTMLFile</em>&nbsp;</td><td>
+Public file format constant: 'HTML'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124"></a><!-- doxytag: member="kXMP_XMLFile" ref="385c44f6fb256e5716a2302a5b940388d217b996403fa13caef3d6e978023124" args="" -->kXMP_XMLFile</em>&nbsp;</td><td>
+Public file format constant: 'XML '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd"></a><!-- doxytag: member="kXMP_TextFile" ref="385c44f6fb256e5716a2302a5b94038827051cd824d3ae7bb59e3af7a7908ffd" args="" -->kXMP_TextFile</em>&nbsp;</td><td>
+Public file format constant: 'text'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c"></a><!-- doxytag: member="kXMP_PhotoshopFile" ref="385c44f6fb256e5716a2302a5b94038822b478a9d0d52d12e8e4a1181024eb1c" args="" -->kXMP_PhotoshopFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'PSD '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554"></a><!-- doxytag: member="kXMP_IllustratorFile" ref="385c44f6fb256e5716a2302a5b94038882935c41c6222ff4cca954278f18e554" args="" -->kXMP_IllustratorFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'AI '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60"></a><!-- doxytag: member="kXMP_InDesignFile" ref="385c44f6fb256e5716a2302a5b94038879cbf96ecc4ac3e0ebfb2d182bc75e60" args="" -->kXMP_InDesignFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'INDD'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e"></a><!-- doxytag: member="kXMP_AEProjectFile" ref="385c44f6fb256e5716a2302a5b9403885fb9e99541bbb2d8e375d0cc9fd92a2e" args="" -->kXMP_AEProjectFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'AEP '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df"></a><!-- doxytag: member="kXMP_AEProjTemplateFile" ref="385c44f6fb256e5716a2302a5b940388da5b138722448c4d4595fe760668c3df" args="" -->kXMP_AEProjTemplateFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'AET ', After Effects Project Template. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0"></a><!-- doxytag: member="kXMP_AEFilterPresetFile" ref="385c44f6fb256e5716a2302a5b940388fd8d3d1c8c84bc6ab773f1298b3938f0" args="" -->kXMP_AEFilterPresetFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'FFX '. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a"></a><!-- doxytag: member="kXMP_EncoreProjectFile" ref="385c44f6fb256e5716a2302a5b940388e28efb65bde55f3f8ddfd1fd8a168e2a" args="" -->kXMP_EncoreProjectFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'NCOR'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d"></a><!-- doxytag: member="kXMP_PremiereProjectFile" ref="385c44f6fb256e5716a2302a5b940388eff4f68cd5162370f7bf938a868e280d" args="" -->kXMP_PremiereProjectFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'PRPJ'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a"></a><!-- doxytag: member="kXMP_PremiereTitleFile" ref="385c44f6fb256e5716a2302a5b9403881ad712bbd349dc899ca1e71971032b0a" args="" -->kXMP_PremiereTitleFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'PRTL'. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96"></a><!-- doxytag: member="kXMP_UCFFile" ref="385c44f6fb256e5716a2302a5b94038896804f7b8ce83786051c4dac4930aa96" args="" -->kXMP_UCFFile</em>&nbsp;</td><td>
+Adobe application file format constant: 'UCF ', Universal Container Format. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719"></a><!-- doxytag: member="kXMP_UnknownFile" ref="385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" args="" -->kXMP_UnknownFile</em>&nbsp;</td><td>
+Unknown file format constant: ' '. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8"></a><!-- doxytag: member="XMP_Const.h::@12" ref="c36f475ca5b446f4fde4c9b90bec77c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constants to allow easy testing for 16/32 bit and big/little endian.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637"></a><!-- doxytag: member="kXMP_Char8Bit" ref="c36f475ca5b446f4fde4c9b90bec77c8f5b20dd9abbef29169a362b265049637" args="" -->kXMP_Char8Bit</em>&nbsp;</td><td>
+8-bit </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d"></a><!-- doxytag: member="kXMP_Char16BitBig" ref="c36f475ca5b446f4fde4c9b90bec77c80966bca9b241646f6a730f96c5c14a2d" args="" -->kXMP_Char16BitBig</em>&nbsp;</td><td>
+16-bit big-endian </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa"></a><!-- doxytag: member="kXMP_Char16BitLittle" ref="c36f475ca5b446f4fde4c9b90bec77c819b97b941d6586031190025225ee0eaa" args="" -->kXMP_Char16BitLittle</em>&nbsp;</td><td>
+16-bit little-endian </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc"></a><!-- doxytag: member="kXMP_Char32BitBig" ref="c36f475ca5b446f4fde4c9b90bec77c887f8231aec6dd125baf77c9f3f918fbc" args="" -->kXMP_Char32BitBig</em>&nbsp;</td><td>
+32-bit big-endian </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e"></a><!-- doxytag: member="kXMP_Char32BitLittle" ref="c36f475ca5b446f4fde4c9b90bec77c8859e7aa88e7dfd3f55ad2b6445a4708e" args="" -->kXMP_Char32BitLittle</em>&nbsp;</td><td>
+32-bit little-endian </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b"></a><!-- doxytag: member="kXMP_CharUnknown" ref="c36f475ca5b446f4fde4c9b90bec77c86c37f0724299a9c88e2f622d3246d63b" args="" -->kXMP_CharUnknown</em>&nbsp;</td><td>
+Variable or not-yet-known cases. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="05589fbab0657f08285ebdfe93f5ec9e"></a><!-- doxytag: member="XMP_Const.h::@13" ref="05589fbab0657f08285ebdfe93f5ec9e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817"></a><!-- doxytag: member="kXMP_PacketInfoVersion" ref="05589fbab0657f08285ebdfe93f5ec9e767b4847575a8de28e691be660d43817" args="" -->kXMP_PacketInfoVersion</em>&nbsp;</td><td>
+Version of the <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> type. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d"></a><!-- doxytag: member="XMP_Const.h::@14" ref="16af7b253440dadd46a80a4b9fddba4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Values for <code><a class="el" href="structXMP__ThumbnailInfo.html#f57b103c5a78c636afc3a391f28a5906" title="The format of the thumbnail image data.">XMP_ThumbnailInfo::tnailFormat</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6"></a><!-- doxytag: member="kXMP_UnknownTNail" ref="16af7b253440dadd46a80a4b9fddba4d7a20b5cd0872055d043b3593e18f41d6" args="" -->kXMP_UnknownTNail</em>&nbsp;</td><td>
+The thumbnail data has an unknown format. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321"></a><!-- doxytag: member="kXMP_JPEGTNail" ref="16af7b253440dadd46a80a4b9fddba4d5184f12e2695285b081ddafc5aeb4321" args="" -->kXMP_JPEGTNail</em>&nbsp;</td><td>
+The thumbnail data is a JPEG stream, presumably compressed. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951"></a><!-- doxytag: member="kXMP_TIFFTNail" ref="16af7b253440dadd46a80a4b9fddba4ddf767c0e478570baac04311b7b79f951" args="" -->kXMP_TIFFTNail</em>&nbsp;</td><td>
+The thumbnail data is a TIFF stream, presumably uncompressed. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab"></a><!-- doxytag: member="kXMP_PShopTNail" ref="16af7b253440dadd46a80a4b9fddba4db3207f0166247f17fa913daec2b771ab" args="" -->kXMP_PShopTNail</em>&nbsp;</td><td>
+The thumbnail data is in the format of Photoshop Image Resource 1036. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ba01db17f4a2bfbc3db60dc172972a25"></a><!-- doxytag: member="XMP_Const.h::@15" ref="ba01db17f4a2bfbc3db60dc172972a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be"></a><!-- doxytag: member="kXMP_ThumbnailInfoVersion" ref="ba01db17f4a2bfbc3db60dc172972a25b1e9c825d1f58e696f34c8940b0176be" args="" -->kXMP_ThumbnailInfoVersion</em>&nbsp;</td><td>
+Version of the <a class="el" href="structXMP__ThumbnailInfo.html" title="Thumbnail descriptor.">XMP_ThumbnailInfo</a> type. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="af105ae5beaca1dee30ae54530691fce"></a><!-- doxytag: member="XMP_Const.h::@16" ref="af105ae5beaca1dee30ae54530691fce" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9"></a><!-- doxytag: member="kXMPFiles_NoQuickTimeInit" ref="af105ae5beaca1dee30ae54530691fce4e1723c609cc341c88f254473e315ae9" args="" -->kXMPFiles_NoQuickTimeInit</em>&nbsp;</td><td>
+Do not initialize QuickTime, the client will. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="80155586fa275b28773c9b203f52caba"></a><!-- doxytag: member="XMP_Const.h::@17" ref="80155586fa275b28773c9b203f52caba" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">TXMPFiles::GetFormatInfo()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388"></a><!-- doxytag: member="kXMPFiles_CanInjectXMP" ref="80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" args="" -->kXMPFiles_CanInjectXMP</em>&nbsp;</td><td>
+Can inject first-time XMP into an existing file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c"></a><!-- doxytag: member="kXMPFiles_CanExpand" ref="80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" args="" -->kXMPFiles_CanExpand</em>&nbsp;</td><td>
+Can expand XMP or other metadata in an existing file. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07"></a><!-- doxytag: member="kXMPFiles_CanRewrite" ref="80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" args="" -->kXMPFiles_CanRewrite</em>&nbsp;</td><td>
+Can copy one file to another, writing new metadata. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3"></a><!-- doxytag: member="kXMPFiles_PrefersInPlace" ref="80155586fa275b28773c9b203f52cabab55e1873e67048928de3fc47550678c3" args="" -->kXMPFiles_PrefersInPlace</em>&nbsp;</td><td>
+Can expand, but prefers in-place update. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694"></a><!-- doxytag: member="kXMPFiles_CanReconcile" ref="80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" args="" -->kXMPFiles_CanReconcile</em>&nbsp;</td><td>
+Supports reconciliation between XMP and other forms. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733"></a><!-- doxytag: member="kXMPFiles_AllowsOnlyXMP" ref="80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" args="" -->kXMPFiles_AllowsOnlyXMP</em>&nbsp;</td><td>
+Allows access to just the XMP, ignoring other forms. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea"></a><!-- doxytag: member="kXMPFiles_ReturnsRawPacket" ref="80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" args="" -->kXMPFiles_ReturnsRawPacket</em>&nbsp;</td><td>
+File handler returns raw XMP packet information. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09"></a><!-- doxytag: member="kXMPFiles_ReturnsTNail" ref="80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" args="" -->kXMPFiles_ReturnsTNail</em>&nbsp;</td><td>
+File handler returns native thumbnail. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4"></a><!-- doxytag: member="kXMPFiles_HandlerOwnsFile" ref="80155586fa275b28773c9b203f52cabafc2c5b585e698ebf24a9379de35954b4" args="" -->kXMPFiles_HandlerOwnsFile</em>&nbsp;</td><td>
+The file handler does the file open and close. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd"></a><!-- doxytag: member="kXMPFiles_AllowsSafeUpdate" ref="80155586fa275b28773c9b203f52caba9fe958d4ccde02516a3a267db63874cd" args="" -->kXMPFiles_AllowsSafeUpdate</em>&nbsp;</td><td>
+The file handler allows crash-safe file updates. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999"></a><!-- doxytag: member="kXMPFiles_NeedsReadOnlyPacket" ref="80155586fa275b28773c9b203f52cabaee13099f78018a5e1ce033266c27e999" args="" -->kXMPFiles_NeedsReadOnlyPacket</em>&nbsp;</td><td>
+The file format needs the XMP packet to be read-only. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c"></a><!-- doxytag: member="kXMPFiles_UsesSidecarXMP" ref="80155586fa275b28773c9b203f52cabad3027b786992e2a4762a4fa37c92943c" args="" -->kXMPFiles_UsesSidecarXMP</em>&nbsp;</td><td>
+The file handler uses a "sidecar" file for the XMP. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd"></a><!-- doxytag: member="kXMPFiles_FolderBasedFormat" ref="80155586fa275b28773c9b203f52cabaa2a6a4b744b40055387234632b688fcd" args="" -->kXMPFiles_FolderBasedFormat</em>&nbsp;</td><td>
+The format is folder oriented, for example the P2 video format. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea"></a><!-- doxytag: member="XMP_Const.h::@18" ref="6b7b47dd702d9e331586d485013fd1ea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">TXMPFiles::OpenFile()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2"></a><!-- doxytag: member="kXMPFiles_OpenForRead" ref="6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" args="" -->kXMPFiles_OpenForRead</em>&nbsp;</td><td>
+Open for read-only access. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b"></a><!-- doxytag: member="kXMPFiles_OpenForUpdate" ref="6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" args="" -->kXMPFiles_OpenForUpdate</em>&nbsp;</td><td>
+Open for reading and writing. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96"></a><!-- doxytag: member="kXMPFiles_OpenOnlyXMP" ref="6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" args="" -->kXMPFiles_OpenOnlyXMP</em>&nbsp;</td><td>
+Only the XMP is wanted, allows space/time optimizations. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063"></a><!-- doxytag: member="kXMPFiles_OpenCacheTNail" ref="6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" args="" -->kXMPFiles_OpenCacheTNail</em>&nbsp;</td><td>
+Cache thumbnail if possible, <code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">TXMPFiles::GetThumbnail()</a></code> will be called. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18"></a><!-- doxytag: member="kXMPFiles_OpenStrictly" ref="6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" args="" -->kXMPFiles_OpenStrictly</em>&nbsp;</td><td>
+Be strict about locating XMP and reconciling with other forms. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646"></a><!-- doxytag: member="kXMPFiles_OpenUseSmartHandler" ref="6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" args="" -->kXMPFiles_OpenUseSmartHandler</em>&nbsp;</td><td>
+Require the use of a smart handler. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285"></a><!-- doxytag: member="kXMPFiles_OpenUsePacketScanning" ref="6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" args="" -->kXMPFiles_OpenUsePacketScanning</em>&nbsp;</td><td>
+Force packet scanning, do not use a smart handler. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182"></a><!-- doxytag: member="kXMPFiles_OpenLimitedScanning" ref="6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" args="" -->kXMPFiles_OpenLimitedScanning</em>&nbsp;</td><td>
+Only packet scan files "known" to need scanning. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a"></a><!-- doxytag: member="kXMPFiles_OpenRepairFile" ref="6b7b47dd702d9e331586d485013fd1ea05acd568597f72b4812b432ea6cf606a" args="" -->kXMPFiles_OpenRepairFile</em>&nbsp;</td><td>
+Attempt to repair a file opened for update, default is to not open (throw an exception). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34"></a><!-- doxytag: member="kXMPFiles_OpenInBackground" ref="6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" args="" -->kXMPFiles_OpenInBackground</em>&nbsp;</td><td>
+Set if calling from background thread. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f9bdc3014f3d54c426b6d2df10de4960"></a><!-- doxytag: member="XMP_Const.h::@19" ref="f9bdc3014f3d54c426b6d2df10de4960" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">TXMPFiles::CloseFile()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54"></a><!-- doxytag: member="kXMPFiles_UpdateSafely" ref="f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" args="" -->kXMPFiles_UpdateSafely</em>&nbsp;</td><td>
+Write into a temporary file and swap for crash safety. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="XMP_Const.h::@2" ref="99fb83031ce9923c84392b4e92f956b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property accessor functions.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb"></a><!-- doxytag: member="kXMP_PropValueIsURI" ref="99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" args="" -->kXMP_PropValueIsURI</em>&nbsp;</td><td>
+The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159"></a><!-- doxytag: member="kXMP_PropHasQualifiers" ref="99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" args="" -->kXMP_PropHasQualifiers</em>&nbsp;</td><td>
+The property has qualifiers, includes <code>rdf:type</code> and <code>xml:lang</code>. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe"></a><!-- doxytag: member="kXMP_PropIsQualifier" ref="99fb83031ce9923c84392b4e92f956b530146ed5209f5c3eb4eeb1fd8e4fb9fe" args="" -->kXMP_PropIsQualifier</em>&nbsp;</td><td>
+This is a qualifier for some other property, includes <code>rdf:type</code> and <code>xml:lang</code>. Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217"></a><!-- doxytag: member="kXMP_PropHasLang" ref="99fb83031ce9923c84392b4e92f956b53fa5ed87edc731bfb3817f58ba70a217" args="" -->kXMP_PropHasLang</em>&nbsp;</td><td>
+Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>xml:lang</code>. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5"></a><!-- doxytag: member="kXMP_PropHasType" ref="99fb83031ce9923c84392b4e92f956b5eff16fdf167afc73db25b30b529bd9d5" args="" -->kXMP_PropHasType</em>&nbsp;</td><td>
+Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b58e34a33a2eed56499d4f6f62da25d159" title="The property has qualifiers, includes rdf:type and xml:lang.">kXMP_PropHasQualifiers</a></code>, property has <code>rdf:type</code>. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e"></a><!-- doxytag: member="kXMP_PropValueIsStruct" ref="99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" args="" -->kXMP_PropValueIsStruct</em>&nbsp;</td><td>
+The value is a structure with nested fields. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc"></a><!-- doxytag: member="kXMP_PropValueIsArray" ref="99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc" args="" -->kXMP_PropValueIsArray</em>&nbsp;</td><td>
+The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types of array; default is a general unordered array, serialized using an <code>rdf:Bag</code> container. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0"></a><!-- doxytag: member="kXMP_PropArrayIsUnordered" ref="99fb83031ce9923c84392b4e92f956b50d70c23394c0676657c89de5491192c0" args="" -->kXMP_PropArrayIsUnordered</em>&nbsp;</td><td>
+The item order does not matter. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04"></a><!-- doxytag: member="kXMP_PropArrayIsOrdered" ref="99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" args="" -->kXMP_PropArrayIsOrdered</em>&nbsp;</td><td>
+Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, item order matters. It is serialized using an <code>rdf:Seq</code> container. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1"></a><!-- doxytag: member="kXMP_PropArrayIsAlternate" ref="99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" args="" -->kXMP_PropArrayIsAlternate</em>&nbsp;</td><td>
+Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, items are alternates. It is serialized using an <code>rdf:Alt</code> container. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d"></a><!-- doxytag: member="kXMP_PropArrayIsAltText" ref="99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d" args="" -->kXMP_PropArrayIsAltText</em>&nbsp;</td><td>
+Implies <code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, items are localized text. Each array element is a simple property with an <code>xml:lang</code> attribute. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37"></a><!-- doxytag: member="kXMP_PropIsAlias" ref="99fb83031ce9923c84392b4e92f956b5b975c19fb5c50f732a1a0d84dadb7c37" args="" -->kXMP_PropIsAlias</em>&nbsp;</td><td>
+This property is an alias name for another property. This is only returned by <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0"></a><!-- doxytag: member="kXMP_PropHasAliases" ref="99fb83031ce9923c84392b4e92f956b51f819ef281d1f52c4c12d5d02f49d3f0" args="" -->kXMP_PropHasAliases</em>&nbsp;</td><td>
+This property is the base value (actual) for a set of aliases.This is only returned by <code><a class="el" href="classTXMPMeta.html#06a3241c7fa5df87f61dff02fca23a0c" title="GetProperty() reports whether a property exists, and retrieves its value.">TXMPMeta::GetProperty()</a></code> and then only if the property name is simple, not an path expression. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464"></a><!-- doxytag: member="kXMP_PropIsInternal" ref="99fb83031ce9923c84392b4e92f956b548097c6ea309f240965d77ab564a5464" args="" -->kXMP_PropIsInternal</em>&nbsp;</td><td>
+The value of this property is "owned" by the application, and should not generally be editable in a UI. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c"></a><!-- doxytag: member="kXMP_PropIsStable" ref="99fb83031ce9923c84392b4e92f956b581dcd06251771a0ddee6c1e36128c65c" args="" -->kXMP_PropIsStable</em>&nbsp;</td><td>
+The value of this property is not derived from the document content. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877"></a><!-- doxytag: member="kXMP_PropIsDerived" ref="99fb83031ce9923c84392b4e92f956b50d898ea7f6b3db513bb24f8a6a285877" args="" -->kXMP_PropIsDerived</em>&nbsp;</td><td>
+The value of this property is derived from the document content. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f"></a><!-- doxytag: member="kXMP_PropArrayFormMask" ref="99fb83031ce9923c84392b4e92f956b56b5b5f4b869994b7390edc9589745e9f" args="" -->kXMP_PropArrayFormMask</em>&nbsp;</td><td>
+Property type bit-flag mask for all array types. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956"></a><!-- doxytag: member="kXMP_PropCompositeMask" ref="99fb83031ce9923c84392b4e92f956b560a9f26fb66c2e65cf40d9bc44968956" args="" -->kXMP_PropCompositeMask</em>&nbsp;</td><td>
+Property type bit-flag mask for composite types (array and struct). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974"></a><!-- doxytag: member="kXMP_ImplReservedMask" ref="99fb83031ce9923c84392b4e92f956b5e154b58429b257b18963ba3503e67974" args="" -->kXMP_ImplReservedMask</em>&nbsp;</td><td>
+Mask for bits that are reserved for transient use by the implementation. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409"></a><!-- doxytag: member="XMP_Const.h::@20" ref="db49720dc49f7d4e4cf9adbf2948e409" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Exception code constants.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581"></a><!-- doxytag: member="kXMPErr_Unknown" ref="db49720dc49f7d4e4cf9adbf2948e40914813595824de97382fffeae7b6fe581" args="" -->kXMPErr_Unknown</em>&nbsp;</td><td>
+Generic unknown error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1"></a><!-- doxytag: member="kXMPErr_TBD" ref="db49720dc49f7d4e4cf9adbf2948e409cd9fa1b621efafd5b218e3a785cbeda1" args="" -->kXMPErr_TBD</em>&nbsp;</td><td>
+Generic undefined error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3"></a><!-- doxytag: member="kXMPErr_Unavailable" ref="db49720dc49f7d4e4cf9adbf2948e409c7ac408582c194cc723a24acb8b4e4c3" args="" -->kXMPErr_Unavailable</em>&nbsp;</td><td>
+Generic unavailable error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1"></a><!-- doxytag: member="kXMPErr_BadObject" ref="db49720dc49f7d4e4cf9adbf2948e409115f3d761d2cad952aab23f35cbdf3a1" args="" -->kXMPErr_BadObject</em>&nbsp;</td><td>
+Generic bad object error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1"></a><!-- doxytag: member="kXMPErr_BadParam" ref="db49720dc49f7d4e4cf9adbf2948e40952d197a8b0af3c55f16958162a4132f1" args="" -->kXMPErr_BadParam</em>&nbsp;</td><td>
+Generic bad parameter error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a"></a><!-- doxytag: member="kXMPErr_BadValue" ref="db49720dc49f7d4e4cf9adbf2948e409716956a038782e595ce61d3fbdd1a25a" args="" -->kXMPErr_BadValue</em>&nbsp;</td><td>
+Generic bad value error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6"></a><!-- doxytag: member="kXMPErr_AssertFailure" ref="db49720dc49f7d4e4cf9adbf2948e40914bd6c24087d280c722c1a044eec27d6" args="" -->kXMPErr_AssertFailure</em>&nbsp;</td><td>
+Generic assertion failure. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b"></a><!-- doxytag: member="kXMPErr_EnforceFailure" ref="db49720dc49f7d4e4cf9adbf2948e409a856bb36a9742d8542b483e00fc6511b" args="" -->kXMPErr_EnforceFailure</em>&nbsp;</td><td>
+Generic enforcement failure. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2"></a><!-- doxytag: member="kXMPErr_Unimplemented" ref="db49720dc49f7d4e4cf9adbf2948e4093de1ac8f4e4afb705d5a4654cb9579e2" args="" -->kXMPErr_Unimplemented</em>&nbsp;</td><td>
+Generic unimplemented error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0"></a><!-- doxytag: member="kXMPErr_InternalFailure" ref="db49720dc49f7d4e4cf9adbf2948e4098babbd758d2c64fd04e85fa48e0675c0" args="" -->kXMPErr_InternalFailure</em>&nbsp;</td><td>
+Generic internal failure. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7"></a><!-- doxytag: member="kXMPErr_Deprecated" ref="db49720dc49f7d4e4cf9adbf2948e40914342c486ddf394ebc110a446becbfa7" args="" -->kXMPErr_Deprecated</em>&nbsp;</td><td>
+Generic deprecated error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb"></a><!-- doxytag: member="kXMPErr_ExternalFailure" ref="db49720dc49f7d4e4cf9adbf2948e40982941dc15c6ccde6b8fb2f9cc85c2eeb" args="" -->kXMPErr_ExternalFailure</em>&nbsp;</td><td>
+Generic external failure. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195"></a><!-- doxytag: member="kXMPErr_UserAbort" ref="db49720dc49f7d4e4cf9adbf2948e409c4ba7b1a57629e4994a0f7a515d51195" args="" -->kXMPErr_UserAbort</em>&nbsp;</td><td>
+Generic user abort error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb"></a><!-- doxytag: member="kXMPErr_StdException" ref="db49720dc49f7d4e4cf9adbf2948e4095322df07e2a7792824d2468c4837f1cb" args="" -->kXMPErr_StdException</em>&nbsp;</td><td>
+Generic standard exception. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4"></a><!-- doxytag: member="kXMPErr_UnknownException" ref="db49720dc49f7d4e4cf9adbf2948e409ac7558097a1f5a0f99097199f1bf8ff4" args="" -->kXMPErr_UnknownException</em>&nbsp;</td><td>
+Generic unknown exception. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813"></a><!-- doxytag: member="kXMPErr_NoMemory" ref="db49720dc49f7d4e4cf9adbf2948e40969eb7fef422fbca62cdbc554afffd813" args="" -->kXMPErr_NoMemory</em>&nbsp;</td><td>
+Generic out-of-memory error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539"></a><!-- doxytag: member="kXMPErr_BadSchema" ref="db49720dc49f7d4e4cf9adbf2948e4092bc66eec6ce830979089d5c336f75539" args="" -->kXMPErr_BadSchema</em>&nbsp;</td><td>
+Bad schema parameter. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7"></a><!-- doxytag: member="kXMPErr_BadXPath" ref="db49720dc49f7d4e4cf9adbf2948e4093f1efec0aa5452f43c55c05aba616ef7" args="" -->kXMPErr_BadXPath</em>&nbsp;</td><td>
+Bad XPath parameter. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444"></a><!-- doxytag: member="kXMPErr_BadOptions" ref="db49720dc49f7d4e4cf9adbf2948e40940ca77d98bd366442bb8d438c420a444" args="" -->kXMPErr_BadOptions</em>&nbsp;</td><td>
+Bad options parameter. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010"></a><!-- doxytag: member="kXMPErr_BadIndex" ref="db49720dc49f7d4e4cf9adbf2948e40931adb57da79b4fb1f1f5f999ec740010" args="" -->kXMPErr_BadIndex</em>&nbsp;</td><td>
+Bad index parameter. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9"></a><!-- doxytag: member="kXMPErr_BadIterPosition" ref="db49720dc49f7d4e4cf9adbf2948e4092584fc813bfcd9158b7adf28a3454bb9" args="" -->kXMPErr_BadIterPosition</em>&nbsp;</td><td>
+Bad iteration position. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8"></a><!-- doxytag: member="kXMPErr_BadParse" ref="db49720dc49f7d4e4cf9adbf2948e409052b1b525fba7da8c98be5c135f434b8" args="" -->kXMPErr_BadParse</em>&nbsp;</td><td>
+XML parsing error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9"></a><!-- doxytag: member="kXMPErr_BadSerialize" ref="db49720dc49f7d4e4cf9adbf2948e409c4f936ff6788ce17f6098b7cbda77ed9" args="" -->kXMPErr_BadSerialize</em>&nbsp;</td><td>
+Serialization error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8"></a><!-- doxytag: member="kXMPErr_BadFileFormat" ref="db49720dc49f7d4e4cf9adbf2948e409a0a05e07925d1f3daf5f36f6da0840f8" args="" -->kXMPErr_BadFileFormat</em>&nbsp;</td><td>
+File format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795"></a><!-- doxytag: member="kXMPErr_NoFileHandler" ref="db49720dc49f7d4e4cf9adbf2948e40910fa053f279fed01b075f34a70f11795" args="" -->kXMPErr_NoFileHandler</em>&nbsp;</td><td>
+No file handler found for format. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b"></a><!-- doxytag: member="kXMPErr_TooLargeForJPEG" ref="db49720dc49f7d4e4cf9adbf2948e409a9c1c20e53db12b20068d830a8990c0b" args="" -->kXMPErr_TooLargeForJPEG</em>&nbsp;</td><td>
+Data too large for JPEG file format. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5"></a><!-- doxytag: member="kXMPErr_BadXML" ref="db49720dc49f7d4e4cf9adbf2948e409c57f1cf1c24778536fd32972e87334c5" args="" -->kXMPErr_BadXML</em>&nbsp;</td><td>
+XML format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e"></a><!-- doxytag: member="kXMPErr_BadRDF" ref="db49720dc49f7d4e4cf9adbf2948e4095464b823e619618d9aa58433cdb45a8e" args="" -->kXMPErr_BadRDF</em>&nbsp;</td><td>
+RDF format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821"></a><!-- doxytag: member="kXMPErr_BadXMP" ref="db49720dc49f7d4e4cf9adbf2948e409211bb632ed1264d9e2236f35c6414821" args="" -->kXMPErr_BadXMP</em>&nbsp;</td><td>
+XMP format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179"></a><!-- doxytag: member="kXMPErr_EmptyIterator" ref="db49720dc49f7d4e4cf9adbf2948e409078c69d0d76f25187a11981a2552b179" args="" -->kXMPErr_EmptyIterator</em>&nbsp;</td><td>
+Empty iterator. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f"></a><!-- doxytag: member="kXMPErr_BadUnicode" ref="db49720dc49f7d4e4cf9adbf2948e409c4cf86fa29624c5e19111e09a97fe05f" args="" -->kXMPErr_BadUnicode</em>&nbsp;</td><td>
+Unicode error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d"></a><!-- doxytag: member="kXMPErr_BadTIFF" ref="db49720dc49f7d4e4cf9adbf2948e409ecd25299aa177de7bc7f3674fcf2e22d" args="" -->kXMPErr_BadTIFF</em>&nbsp;</td><td>
+TIFF format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee"></a><!-- doxytag: member="kXMPErr_BadJPEG" ref="db49720dc49f7d4e4cf9adbf2948e409d685e1f839e3bc53dfc55611a0803cee" args="" -->kXMPErr_BadJPEG</em>&nbsp;</td><td>
+JPEG format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d"></a><!-- doxytag: member="kXMPErr_BadPSD" ref="db49720dc49f7d4e4cf9adbf2948e409d98fc9a9c050e9fc19c3af9c8abb2d6d" args="" -->kXMPErr_BadPSD</em>&nbsp;</td><td>
+PSD format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3"></a><!-- doxytag: member="kXMPErr_BadPSIR" ref="db49720dc49f7d4e4cf9adbf2948e4091606a687cb790af16dc561b2a8f2e6a3" args="" -->kXMPErr_BadPSIR</em>&nbsp;</td><td>
+PSIR format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e"></a><!-- doxytag: member="kXMPErr_BadIPTC" ref="db49720dc49f7d4e4cf9adbf2948e40923b2d7cab10b3d80549e6b60855bb15e" args="" -->kXMPErr_BadIPTC</em>&nbsp;</td><td>
+IPTC format error. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad"></a><!-- doxytag: member="kXMPErr_BadMPEG" ref="db49720dc49f7d4e4cf9adbf2948e409d596daed4ac92f8bf7871669d03effad" args="" -->kXMPErr_BadMPEG</em>&nbsp;</td><td>
+MPEG format error. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04"></a><!-- doxytag: member="XMP_Const.h::@3" ref="bc6126af1d45847bc59afa0aa3216b04" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> property setting functions. These option bits are shared with the accessor functions: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ab51f87b5c48f47f5cefb9e03293dafb" title="The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED...">kXMP_PropValueIsURI</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b590d8e49a828a7e18c64be36a73076a7e" title="The value is a structure with nested fields.">kXMP_PropValueIsStruct</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
+</ul>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f"></a><!-- doxytag: member="kXMP_InsertBeforeItem" ref="bc6126af1d45847bc59afa0aa3216b04873411f673fc2a6337083fd024df727f" args="" -->kXMP_InsertBeforeItem</em>&nbsp;</td><td>
+Option for array item location: Insert a new item before the given index. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05"></a><!-- doxytag: member="kXMP_InsertAfterItem" ref="bc6126af1d45847bc59afa0aa3216b0498cedd5fa29d47abb2ac8903ac7f5a05" args="" -->kXMP_InsertAfterItem</em>&nbsp;</td><td>
+Option for array item location: Insert a new item after the given index. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c"></a><!-- doxytag: member="kXMP_DeleteExisting" ref="bc6126af1d45847bc59afa0aa3216b04ddd07b4a38b25ab3841e28a9cb169d1c" args="" -->kXMP_DeleteExisting</em>&nbsp;</td><td>
+Delete any pre-existing property. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465"></a><!-- doxytag: member="kXMP_PropValueOptionsMask" ref="bc6126af1d45847bc59afa0aa3216b04d1b42a8a4c479d9bfaf406b79f2e1465" args="" -->kXMP_PropValueOptionsMask</em>&nbsp;</td><td>
+Bit-flag mask for property-value option bits. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df"></a><!-- doxytag: member="kXMP_PropArrayLocationMask" ref="bc6126af1d45847bc59afa0aa3216b04ef8c1934a17b0e5d8f0b20a7e89df0df" args="" -->kXMP_PropArrayLocationMask</em>&nbsp;</td><td>
+Bit-flag mask for array-item location bits. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c"></a><!-- doxytag: member="XMP_Const.h::@4" ref="dc29c2ff13d900c2f185ee95427fb06c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPMeta.html#7b383f5b357fff040cdbde82f4f43f26" title="ParseFromBuffer() parses RDF from a series of input buffers into this XMP object...">TXMPMeta::ParseFromBuffer()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400"></a><!-- doxytag: member="kXMP_RequireXMPMeta" ref="dc29c2ff13d900c2f185ee95427fb06c1e533852436acf75f594a4fb50a64400" args="" -->kXMP_RequireXMPMeta</em>&nbsp;</td><td>
+Require a surrounding <code>x:xmpmeta</code> element. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e"></a><!-- doxytag: member="kXMP_ParseMoreBuffers" ref="dc29c2ff13d900c2f185ee95427fb06c79b36427b7bf0c0a1ed010a44dec2d3e" args="" -->kXMP_ParseMoreBuffers</em>&nbsp;</td><td>
+This is the not last input buffer for this parse stream. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1"></a><!-- doxytag: member="kXMP_StrictAliasing" ref="dc29c2ff13d900c2f185ee95427fb06c7107906eab0e1fa6f9f2dc6254ad88b1" args="" -->kXMP_StrictAliasing</em>&nbsp;</td><td>
+Do not reconcile alias differences, throw an exception. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="61dadd085c1777f559549e05962b2c9e"></a><!-- doxytag: member="XMP_Const.h::@5" ref="61dadd085c1777f559549e05962b2c9e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPMeta.html#2774a6f15ae22f0002201b58c46bfb49" title="SerializeToBuffer() serializes metadata in this XMP object into a string as RDF.">TXMPMeta::SerializeToBuffer()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76"></a><!-- doxytag: member="kXMP_OmitPacketWrapper" ref="61dadd085c1777f559549e05962b2c9edbb9e4c7ee139da0dd4126ddea794c76" args="" -->kXMP_OmitPacketWrapper</em>&nbsp;</td><td>
+Omit the XML packet wrapper. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6"></a><!-- doxytag: member="kXMP_ReadOnlyPacket" ref="61dadd085c1777f559549e05962b2c9e238c792322c5bd5f9e4db3165e01f9d6" args="" -->kXMP_ReadOnlyPacket</em>&nbsp;</td><td>
+Default is a writeable packet. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb"></a><!-- doxytag: member="kXMP_UseCompactFormat" ref="61dadd085c1777f559549e05962b2c9e041dc6b7b8684be7112ae40f5f259ebb" args="" -->kXMP_UseCompactFormat</em>&nbsp;</td><td>
+Use a compact form of RDF. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a"></a><!-- doxytag: member="kXMP_IncludeThumbnailPad" ref="61dadd085c1777f559549e05962b2c9e0b659b3b544c7a5a076fbd3132cd7f7a" args="" -->kXMP_IncludeThumbnailPad</em>&nbsp;</td><td>
+Include a padding allowance for a thumbnail image. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6"></a><!-- doxytag: member="kXMP_ExactPacketLength" ref="61dadd085c1777f559549e05962b2c9edb35599da481cc22ea6342b7b4de6bc6" args="" -->kXMP_ExactPacketLength</em>&nbsp;</td><td>
+The padding parameter is the overall packet length. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654"></a><!-- doxytag: member="kXMP_WriteAliasComments" ref="61dadd085c1777f559549e05962b2c9e9ee6f7e9597b93ed12b8ae654ade2654" args="" -->kXMP_WriteAliasComments</em>&nbsp;</td><td>
+Show aliases as XML comments. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29"></a><!-- doxytag: member="kXMP_OmitAllFormatting" ref="61dadd085c1777f559549e05962b2c9e79230f1d70d2625f7650db6ff5b1ea29" args="" -->kXMP_OmitAllFormatting</em>&nbsp;</td><td>
+Omit all formatting whitespace. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856"></a><!-- doxytag: member="kXMP_OmitXMPMetaElement" ref="61dadd085c1777f559549e05962b2c9e9fb498d749d939e2ba9adf555a75b856" args="" -->kXMP_OmitXMPMetaElement</em>&nbsp;</td><td>
+Omit the x:xmpmeta element surrounding the rdf:RDF element. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845"></a><!-- doxytag: member="kXMP_EncodingMask" ref="61dadd085c1777f559549e05962b2c9eeb79571cac99ee97feefb0347b1c1845" args="" -->kXMP_EncodingMask</em>&nbsp;</td><td>
+Bit-flag mask for encoding-type bits. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab"></a><!-- doxytag: member="kXMP_EncodeUTF8" ref="61dadd085c1777f559549e05962b2c9edc8f241694f5a758e5ee3f6db69d02ab" args="" -->kXMP_EncodeUTF8</em>&nbsp;</td><td>
+Use UTF8 encoding. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d"></a><!-- doxytag: member="kXMP_EncodeUTF16Big" ref="61dadd085c1777f559549e05962b2c9e310e4cbf639e783163778566b439f01d" args="" -->kXMP_EncodeUTF16Big</em>&nbsp;</td><td>
+Use UTF16 big-endian encoding. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830"></a><!-- doxytag: member="kXMP_EncodeUTF16Little" ref="61dadd085c1777f559549e05962b2c9efc6417e382c98a2d507830de62fd4830" args="" -->kXMP_EncodeUTF16Little</em>&nbsp;</td><td>
+Use UTF16 little-endian encoding. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713"></a><!-- doxytag: member="kXMP_EncodeUTF32Big" ref="61dadd085c1777f559549e05962b2c9e793e99d9ea83f0aadd5b4193a95ea713" args="" -->kXMP_EncodeUTF32Big</em>&nbsp;</td><td>
+Use UTF32 big-endian encoding. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e"></a><!-- doxytag: member="kXMP_EncodeUTF32Little" ref="61dadd085c1777f559549e05962b2c9ee0137d98ea990fa23d292489031ba09e" args="" -->kXMP_EncodeUTF32Little</em>&nbsp;</td><td>
+Use UTF13 little-endian encoding. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="726ca809ffd3d67ab4b8476646f26635"></a><!-- doxytag: member="XMP_Const.h::@6" ref="726ca809ffd3d67ab4b8476646f26635" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> construction.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044"></a><!-- doxytag: member="kXMP_IterClassMask" ref="726ca809ffd3d67ab4b8476646f2663593f77b837d89759af3a721712c13f044" args="" -->kXMP_IterClassMask</em>&nbsp;</td><td>
+The low 8 bits are an enum of what data structure to iterate. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b"></a><!-- doxytag: member="kXMP_IterProperties" ref="726ca809ffd3d67ab4b8476646f26635a0643c076a3b3737ff88ed20f16afd2b" args="" -->kXMP_IterProperties</em>&nbsp;</td><td>
+Iterate the property tree of a <a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a> object. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9"></a><!-- doxytag: member="kXMP_IterAliases" ref="726ca809ffd3d67ab4b8476646f266353333450505cd3712320aeac895e541b9" args="" -->kXMP_IterAliases</em>&nbsp;</td><td>
+Iterate the global alias table. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b"></a><!-- doxytag: member="kXMP_IterNamespaces" ref="726ca809ffd3d67ab4b8476646f26635a325d9ffba68a934f0a0a0f6ecfc2f7b" args="" -->kXMP_IterNamespaces</em>&nbsp;</td><td>
+Iterate the global namespace table. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed"></a><!-- doxytag: member="kXMP_IterJustChildren" ref="726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" args="" -->kXMP_IterJustChildren</em>&nbsp;</td><td>
+Just do the immediate children of the root, default is subtree. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19"></a><!-- doxytag: member="kXMP_IterJustLeafNodes" ref="726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" args="" -->kXMP_IterJustLeafNodes</em>&nbsp;</td><td>
+Just do the leaf nodes, default is all nodes in the subtree. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344"></a><!-- doxytag: member="kXMP_IterJustLeafName" ref="726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" args="" -->kXMP_IterJustLeafName</em>&nbsp;</td><td>
+Return just the leaf part of the path, default is the full path. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08"></a><!-- doxytag: member="kXMP_IterIncludeAliases" ref="726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" args="" -->kXMP_IterIncludeAliases</em>&nbsp;</td><td>
+Include aliases, default is just actual properties. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101"></a><!-- doxytag: member="kXMP_IterOmitQualifiers" ref="726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" args="" -->kXMP_IterOmitQualifiers</em>&nbsp;</td><td>
+Omit all qualifiers. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2d"></a><!-- doxytag: member="XMP_Const.h::@7" ref="0411cd49bb5b71852cecd93bcbf0ca2d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">TXMPIterator::Skip()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e"></a><!-- doxytag: member="kXMP_IterSkipSubtree" ref="0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" args="" -->kXMP_IterSkipSubtree</em>&nbsp;</td><td>
+Skip the subtree below the current node. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12"></a><!-- doxytag: member="kXMP_IterSkipSiblings" ref="0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" args="" -->kXMP_IterSkipSiblings</em>&nbsp;</td><td>
+Skip the subtree below and remaining siblings of the current node. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bed82baf7f470b522273a3e37c24c600"></a><!-- doxytag: member="XMP_Const.h::@8" ref="bed82baf7f470b522273a3e37c24c600" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPUtils.html#d7e1aa7928252fb88a24fb5c3aef22ba" title="CatenateArrayItems() creates a single edit string from a set of array item values...">TXMPUtils::CatenateArrayItems()</a></code> and <code><a class="el" href="classTXMPUtils.html#66c5ddee47aa36ed906353f94ca18d2e" title="SeparateArrayItems() updates an array from a concatenated edit string of values.">TXMPUtils::SeparateArrayItems()</a></code>. These option bits are shared with the accessor functions: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b59b7706e0f0716ac7546bdc24ffedd0bc">kXMP_PropValueIsArray</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5f1cdb3b0a3e852ec55e747a1686aba04" title="Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq...">kXMP_PropArrayIsOrdered</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b52596b1f0ea4600270c99102c86b5f1f1" title="Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an...">kXMP_PropArrayIsAlternate</a></code>, </li>
+<li><code><a class="el" href="XMP__Const_8h.html#99fb83031ce9923c84392b4e92f956b5ba253f67a6cf44b7438a3f96b516846d">kXMP_PropArrayIsAltText</a></code> </li>
+</ul>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506"></a><!-- doxytag: member="kXMPUtil_AllowCommas" ref="bed82baf7f470b522273a3e37c24c600d6d41710c689f16d19ac26dc9f5cc506" args="" -->kXMPUtil_AllowCommas</em>&nbsp;</td><td>
+Allow commas in item values, default is separator. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57"></a><!-- doxytag: member="XMP_Const.h::@9" ref="b04a0655cd1e3bcac5e8f48c18df1a57" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">anonymous enum </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Option bit flags for <code><a class="el" href="classTXMPUtils.html#40c645803530662e08d042b4b7c6190d" title="RemoveProperties() removes multiple properties from an XMP object.">TXMPUtils::RemoveProperties()</a></code> and <code><a class="el" href="classTXMPUtils.html#4795244ffcbda927800f789b0e40c262" title="AppendProperties() adds or moves properties from one XMP object to another.">TXMPUtils::AppendProperties()</a></code>.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb"></a><!-- doxytag: member="kXMPUtil_DoAllProperties" ref="b04a0655cd1e3bcac5e8f48c18df1a578ddfb0572b7602a52e533d92d8b1e9fb" args="" -->kXMPUtil_DoAllProperties</em>&nbsp;</td><td>
+Do all properties, default is just external properties. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962"></a><!-- doxytag: member="kXMPUtil_ReplaceOldValues" ref="b04a0655cd1e3bcac5e8f48c18df1a57dab4dad658d2d218c5b1e7d829b12962" args="" -->kXMPUtil_ReplaceOldValues</em>&nbsp;</td><td>
+Replace existing values, default is to leave them. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9"></a><!-- doxytag: member="kXMPUtil_DeleteEmptyValues" ref="b04a0655cd1e3bcac5e8f48c18df1a5797753b4c5afda9c55e807e41377d86d9" args="" -->kXMPUtil_DeleteEmptyValues</em>&nbsp;</td><td>
+Delete properties if the new value is empty. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b"></a><!-- doxytag: member="kXMPUtil_IncludeAliases" ref="b04a0655cd1e3bcac5e8f48c18df1a57843589b878f53d42d59258f945ad770b" args="" -->kXMPUtil_IncludeAliases</em>&nbsp;</td><td>
+Include aliases, default is just actual properties. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/XMP__Const_8h__incl.png b/docs/API/XMP__Const_8h__incl.png
new file mode 100644
index 0000000..eb45aad
--- /dev/null
+++ b/docs/API/XMP__Const_8h__incl.png
Binary files differ
diff --git a/docs/API/annotated.html b/docs/API/annotated.html
new file mode 100644
index 0000000..7d6540d
--- /dev/null
+++ b/docs/API/annotated.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: Class List</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td class="indexvalue">API for access to the main (document-level) metadata in a file </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td class="indexvalue">API for access to the XMP Toolkit iteration services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTXMPMeta.html">TXMPMeta&lt; tStringObj &gt;</a></td><td class="indexvalue">API for access to the XMP Toolkit core services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTXMPUtils.html">TXMPUtils&lt; tStringObj &gt;</a></td><td class="indexvalue">API for access to the XMP Toolkit utility services </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structXMP__DateTime.html">XMP_DateTime</a></td><td class="indexvalue">The expanded type for a date and time </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classXMP__Error.html">XMP_Error</a></td><td class="indexvalue">XMP Toolkit error, associates an error code with a descriptive error string </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></td><td class="indexvalue">XMP packet description </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a></td><td class="indexvalue">Thumbnail descriptor </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a></td><td class="indexvalue">XMP Toolkit version information </td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/classTXMPFiles-members.html b/docs/API/classTXMPFiles-members.html
new file mode 100644
index 0000000..8985a53
--- /dev/null
+++ b/docs/API/classTXMPFiles-members.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPFiles&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#2303dfcc00f108bda202600e3da9c109">CanPutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a>(XMP_StringPtr filePath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a>(XMP_StringPtr folderPath)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">CloseFile</a>(XMP_OptionBits closeFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">GetFileInfo</a>(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a>(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">GetThumbnail</a>(XMP_ThumbnailInfo *tnailInfo)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a>(XMP_VersionInfo *versionInfo)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a>(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">Initialize</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">Initialize</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">OpenFile</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">operator=</a>(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a>(const SXMPMeta &amp;xmpObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#da77eab74c3440659db3122f6ec8b7f4">PutXMP</a>(const tStringObj &amp;xmpPacket)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#502ed01119e0421413e773f4f42683ec">PutXMP</a>(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a>(XMP_AbortProc abortProc, void *abortArg)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">Terminate</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54">TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a>(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#f540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a>(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#cf343fb6771b482ca72d467233a6f920">TXMPFiles</a>(const TXMPFiles&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#d986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a>(XMPFilesRef xmpFilesObj)</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a>()</td><td><a class="el" href="classTXMPFiles.html">TXMPFiles&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/classTXMPFiles.html b/docs/API/classTXMPFiles.html
new file mode 100644
index 0000000..22b1063
--- /dev/null
+++ b/docs/API/classTXMPFiles.html
@@ -0,0 +1,1191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPFiles&lt; tStringObj &gt; Class Template Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPFiles&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPFiles" -->API for access to the main (document-level) metadata in a file.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="TXMPFiles_8hpp-source.html">TXMPFiles.hpp</a>&gt;</code>
+<p>
+
+<p>
+<a href="classTXMPFiles-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>File operations</h2></td></tr>
+<tr><td colspan="2">These functions allow you to open, close, and query files. <br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926">CheckFileFormat</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file. <a href="#07b7c4b44fb0e0a7d115ddd5ba22f926"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c">CheckPackageFormat</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> folderPath)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder. <a href="#7f505664c41d7304fb757d6009b0751c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb">OpenFile</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access. <a href="#fcd21cfe5d6f13c648c5541e161919cb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cfef1688f3a62e2f465bb3a27da7b4ac">OpenFile</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object <a href="#cfef1688f3a62e2f465bb3a27da7b4ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927">CloseFile</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> closeFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file. <a href="#eca89170c7aa3e2d56e30bff04dd7927"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b">GetFileInfo</a> (tStringObj *filePath=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *openFlags=0, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *format=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file. <a href="#f9931d081cb19f98c81e41786030765b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777">SetAbortProc</a> (<a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a> abortProc, void *abortArg)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort. <a href="#7b86c130fdbd54b5ac158ec3fee93777"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Constructors and destructor</div></td></tr>
+<tr><td colspan="2"><div class="groupText">The default constructor initializes an object that is associated with no file. The alternate constructors call <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14f01e38454178578fd25fff6024fd54"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="14f01e38454178578fd25fff6024fd54" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#14f01e38454178578fd25fff6024fd54">TXMPFiles</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor initializes an object that is associated with no file. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#5eaa92724cc82d933a32eff9c4636739">~TXMPFiles</a> () throw ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor; typical virtual destructor. <a href="#5eaa92724cc82d933a32eff9c4636739"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#36abe01988d4ca3939138e871c7b75e7">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file. <a href="#36abe01988d4ca3939138e871c7b75e7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#f540b3ea689a6d7381dca4f52132a4ac">TXMPFiles</a> (const tStringObj &amp;filePath, <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format=kXMP_UnknownFile, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> openFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object. <a href="#f540b3ea689a6d7381dca4f52132a4ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cf343fb6771b482ca72d467233a6f920">TXMPFiles</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;original)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <a href="#cf343fb6771b482ca72d467233a6f920"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#3f1483fcc92860460d3772216dfaef81">operator=</a> (const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <a href="#3f1483fcc92860460d3772216dfaef81"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#d986c7b2e2d82eaef6cf6a33e9d09b65">TXMPFiles</a> (<a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> xmpFilesObj)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference. <a href="#d986c7b2e2d82eaef6cf6a33e9d09b65"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009">GetInternalRef</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed. <a href="#311fc36fdf7270fe05b1c531cdbbd009"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Accessing metadata</div></td></tr>
+<tr><td colspan="2"><div class="groupText">These functions allow you to retrieve XMP metadata from open files, so that you can use the <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code> API to manipulate it. The <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> functions update the XMP packet in memory. Changed XMP is not actually written out to the file until the file is closed. <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3">GetXMP</a> (SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, <a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *packetInfo=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file. <a href="#42ca0bbc5ac66a8de1710e03a7ff17b3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06">GetThumbnail</a> (<a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a> *tnailInfo)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail()</a></code> retrieves the native thumbnail from an open file. <a href="#4ea1eda39f803322e10b2a554ef8ab06"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a">PutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file. <a href="#d3f7babdc07c7de0d0cd9a3362b4710a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#da77eab74c3440659db3122f6ec8b7f4">PutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input. <a href="#da77eab74c3440659db3122f6ec8b7f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#502ed01119e0421413e773f4f42683ec">PutXMP</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length. <a href="#502ed01119e0421413e773f4f42683ec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6">CanPutXMP</a> (const SXMPMeta &amp;xmpObj)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet. <a href="#29a11a1539d6300da3fb4c7e9ea02bb6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#1d3f32c2b95659ada198775e2f67c808">CanPutXMP</a> (const tStringObj &amp;xmpPacket)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#1d3f32c2b95659ada198775e2f67c808"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#2303dfcc00f108bda202600e3da9c109">CanPutXMP</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> xmpPacket, <a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a> xmpLength=kXMP_UseNullTermination)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object. <a href="#2303dfcc00f108bda202600e3da9c109"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Initialization and termination</div></td></tr>
+<tr><td colspan="2"><div class="groupText">A <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object must be initialized before use and can be terminated when done. <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e">GetVersionInfo</a> (<a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *versionInfo)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component. <a href="#6e521c034728b59ab55213a9d8203d1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d">Initialize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#0874bbbf41c9490abfb613bfe297327d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#794e1830a84a6328eaa1995ba5aa6874">Initialize</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object. <a href="#794e1830a84a6328eaa1995ba5aa6874"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#1e8de80c252b60b332dc4bc524139fd8">Terminate</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates use of the XMPFiles library. <a href="#1e8de80c252b60b332dc4bc524139fd8"></a><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">File handler information</div></td></tr>
+<tr><td colspan="2"><div class="groupText">Call this static function from the concrete class, <code>SXMPFiles</code>, to obtain information about the file handlers for the XMPFiles component. <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">*static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131">GetFormatInfo</a> (<a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> format, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *handlerFlags=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format. <a href="#cb9e16a1477ec67fa6da6d736a9bc131"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br>
+ class TXMPFiles&lt; tStringObj &gt;</h3>
+
+API for access to the main (document-level) metadata in a file.
+<p>
+<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is a template class that provides the API for the Adobe XMP Toolkit's XMPFiles component. This provides convenient access to the main, or document level, XMP for a file. Use it to obtain metadata from a file, which you can then manipulate with the XMP Core component (the classes <code><a class="el" href="classTXMPMeta.html" title="API for access to the XMP Toolkit core services.">TXMPMeta</a></code>, <code><a class="el" href="classTXMPUtils.html" title="API for access to the XMP Toolkit utility services.">TXMPUtils</a></code>, and <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code>); and to write new or changed metadata back out to a file.<p>
+The functions allow you to open a file, read and write the metadata, then close the file. While open, portions of the file might be maintained in RAM data structures. Memory usage can vary considerably depending onfile format and access options.<p>
+A file can be opened for read-only or read-write access, with typical exclusion for both modes. Errors result in the throw of an <code>XMPError</code> exception.<p>
+<code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> is the template class. It must be instantiated with a string class such as <code>std::string</code>. Read the Toolkit Overview for information about the overall architecture of the XMP API, and the documentation for <code>XMP.hpp</code> for specific instantiation instructions.<p>
+Access these functions through the concrete class, <code>SXMPFiles</code>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="5eaa92724cc82d933a32eff9c4636739"></a><!-- doxytag: member="TXMPFiles::~TXMPFiles" ref="5eaa92724cc82d933a32eff9c4636739" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::~<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor; typical virtual destructor.
+<p>
+The destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; pending updates are lost when the destructor is run.<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>, <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="36abe01988d4ca3939138e871c7b75e7"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="36abe01988d4ca3939138e871c7b75e7" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Alternate constructor associates the new <code>XMPFiles</code> object with a specific file.
+<p>
+Calls <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> to open the specified file after performing a default construct.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, specified as a nul-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>A format hint for the file, if known.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>Options for how the file is to be opened (for read or read/write, for example). Use a logical OR of these bit-flag constants:</td></tr>
+ </table>
+</dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77f34b1873bb2584feabe26a2c8f1182" title="Only packet scan files &quot;known&quot; to need scanning.">kXMPFiles_OpenLimitedScanning</a></code> </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eafaccd8151900b2c7fc3e7de598a92d34" title="Set if calling from background thread.">kXMPFiles_OpenInBackground</a></code> </li>
+</ul>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f540b3ea689a6d7381dca4f52132a4ac"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="f540b3ea689a6d7381dca4f52132a4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td>(</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Alternate constructor associates the new <code>XMPFiles</code> object with a specific file, using a string object.
+<p>
+Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form.
+</div>
+</div><p>
+<a class="anchor" name="cf343fb6771b482ca72d467233a6f920"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="cf343fb6771b482ca72d467233a6f920" args="(const TXMPFiles&lt; tStringObj &gt; &amp;original)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>original</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Copy constructor.
+<p>
+Increments an internal reference count but does not perform a deep copy.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>The existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object to copy.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d986c7b2e2d82eaef6cf6a33e9d09b65"></a><!-- doxytag: member="TXMPFiles::TXMPFiles" ref="d986c7b2e2d82eaef6cf6a33e9d09b65" args="(XMPFilesRef xmpFilesObj)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPFiles.html">TXMPFiles</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpFilesObj</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Reconstructs a <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object from an internal reference.
+<p>
+This constructor creates a new <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object that refers to the underlying reference object of an existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. Use to safely pass <code>SXMPFiles</code> references across DLL boundaries.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpFilesObj</em>&nbsp;</td><td>The underlying reference object, obtained from some other XMP object with <code><a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">TXMPFiles::GetInternalRef()</a></code>.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new object. </dd></dl>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6e521c034728b59ab55213a9d8203d1e"></a><!-- doxytag: member="TXMPFiles::GetVersionInfo" ref="6e521c034728b59ab55213a9d8203d1e" args="(XMP_VersionInfo *versionInfo)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetVersionInfo </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structXMP__VersionInfo.html">XMP_VersionInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>versionInfo</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code> retrieves version information for the XMPFiles component.
+<p>
+Can be called before <code><a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">Initialize()</a></code>. This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>versionInfo</em>&nbsp;</td><td>[out] A buffer in which to return the version information. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0874bbbf41c9490abfb613bfe297327d"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="0874bbbf41c9490abfb613bfe297327d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object.
+<p>
+The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.<p>
+This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="794e1830a84a6328eaa1995ba5aa6874"></a><!-- doxytag: member="TXMPFiles::Initialize" ref="794e1830a84a6328eaa1995ba5aa6874" args="(XMP_OptionBits options)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Initialize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes the XMPFiles library; must be called before creating an <code>SXMPFiles</code> object.
+<p>
+This overload of <a class="el" href="classTXMPFiles.html#0874bbbf41c9490abfb613bfe297327d" title="Initializes the XMPFiles library; must be called before creating an SXMPFiles object...">TXMPFiles::Initialize()</a> accepts option bits to customize the initialization actions. At this time only one option is defined, <code>kXMPFiles_NoQuickTimeInit</code>. This option prevents calling the QuickTime initialization on Windows, which can be slow. The MOV file handler on Windows uses Apple's QuickTime SDK for the actual file I/O.<p>
+The main action is to activate the available smart file handlers. Must be called before using any methods except <code><a class="el" href="classTXMPFiles.html#6e521c034728b59ab55213a9d8203d1e" title="GetVersionInfo() retrieves version information for the XMPFiles component.">GetVersionInfo()</a></code>.<p>
+This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the initialization actions.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1e8de80c252b60b332dc4bc524139fd8"></a><!-- doxytag: member="TXMPFiles::Terminate" ref="1e8de80c252b60b332dc4bc524139fd8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::Terminate </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Terminates use of the XMPFiles library.
+<p>
+Optional. Deallocates global data structures created by intialization. Its main action is to deallocate heap-allocated global storage, for the benefit of client leak checkers.<p>
+This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).
+</div>
+</div><p>
+<a class="anchor" name="3f1483fcc92860460d3772216dfaef81"></a><!-- doxytag: member="TXMPFiles::operator=" ref="3f1483fcc92860460d3772216dfaef81" args="(const TXMPFiles&lt; tStringObj &gt; &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Assignment operator.
+<p>
+Increments an internal reference count but does not perform a deep copy.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>The existing <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code> object. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="311fc36fdf7270fe05b1c531cdbbd009"></a><!-- doxytag: member="TXMPFiles::GetInternalRef" ref="311fc36fdf7270fe05b1c531cdbbd009" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="XMP__Const_8h.html#a4bca98ad67d7a62c60cb13dbbab0f25">XMPFilesRef</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetInternalRef </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<a class="el" href="classTXMPFiles.html#311fc36fdf7270fe05b1c531cdbbd009" title="GetInternalRef() retrieves an internal reference that can be safely passed across...">GetInternalRef()</a> retrieves an internal reference that can be safely passed across DLL boundaries and reconstructed.
+<p>
+Use with the reconstruction constructor to safely pass <code>SXMPFiles</code> references across DLL boundaries where the clients might have used different string types when instantiating <code><a class="el" href="classTXMPFiles.html" title="API for access to the main (document-level) metadata in a file.">TXMPFiles</a></code>.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The internal reference.</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><code><a class="el" href="classTXMPMeta.html#fbfebded0b85b08bd9c5ba0d7dae07e0" title="Retrieves an internal reference that can be safely passed across DLL boundaries and...">TXMPMeta::GetInternalRef()</a></code> for usage. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cb9e16a1477ec67fa6da6d736a9bc131"></a><!-- doxytag: member="TXMPFiles::GetFormatInfo" ref="cb9e16a1477ec67fa6da6d736a9bc131" args="(XMP_FileFormat format, XMP_OptionBits *handlerFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">* static bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFormatInfo </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>handlerFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a> reports what features are supported for a specific file format.
+<p>
+The file handlers for different file formats vary considerably in what features they support. Support depends on both the general capabilities of the format and the implementation of the handler for that format.<p>
+This function is static; make the call directly from the concrete class (<code>SXMPFiles</code>).<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The file format whose support flags are desired.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return a logical OR of option bit flags. The following constants are defined:</td></tr>
+ </table>
+</dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba23a3eb2a5e95292036a93ad6666fa388" title="Can inject first-time XMP into an existing file.">kXMPFiles_CanInjectXMP</a></code> - Can inject first-time XMP into an existing file. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba126c9cc056f6569c424431edbcb9521c" title="Can expand XMP or other metadata in an existing file.">kXMPFiles_CanExpand</a></code> - Can expand XMP or other metadata in an existing file. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba8957f1ef358b4ab3a1df519903f2ae07" title="Can copy one file to another, writing new metadata.">kXMPFiles_CanRewrite</a></code> - Can copy one file to another, writing new metadata (as in SaveAs) </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> - Supports reconciliation between XMP and other forms. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52caba4a183c3ec4994cf09993e5b31dee9733" title="Allows access to just the XMP, ignoring other forms.">kXMPFiles_AllowsOnlyXMP</a></code> - Allows access to just the XMP, ignoring other forms. This is only meaningful if <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabafc2bc7cfdd28a326788d563ec0357694" title="Supports reconciliation between XMP and other forms.">kXMPFiles_CanReconcile</a></code> is set. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabaf7fe49636dc1fcc0d6938d4b6fb83a09" title="File handler returns native thumbnail.">kXMPFiles_ReturnsTNail</a></code> - File handler returns native thumbnail information. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> - File handler returns raw XMP packet information and string.</li>
+</ul>
+Even if <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> is set, the returned packet information might have an offset of -1 to indicate an unknown offset. While all file handlers should be able to return the raw packet, some might not know the offset of the packet within the file. This is typical in cases where external libraries are used. These cases might not even allow return of the raw packet.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the format has explicit "smart" support, false if the format is handled by the default packet scanning plus heuristics. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="07b7c4b44fb0e0a7d115ddd5ba22f926"></a><!-- doxytag: member="TXMPFiles::CheckFileFormat" ref="07b7c4b44fb0e0a7d115ddd5ba22f926" args="(XMP_StringPtr filePath)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckFileFormat </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>filePath</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#07b7c4b44fb0e0a7d115ddd5ba22f926" title="CheckFileFormat() tries to determine the format of a file.">CheckFileFormat()</a></code> tries to determine the format of a file.
+<p>
+<code>CheckFileFormat</code> tries to determine the format of a file, returning an XMP_FileFormat value. It uses the same logic as <code>OpenFile</code> will use to select a smart handler.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. The path is the same as would be passed to <code>OpenFile</code>.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file's format if a smart handler would be selected, otherwise <code>kXMP_UnknownFile</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7f505664c41d7304fb757d6009b0751c"></a><!-- doxytag: member="TXMPFiles::CheckPackageFormat" ref="7f505664c41d7304fb757d6009b0751c" args="(XMP_StringPtr folderPath)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CheckPackageFormat </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>folderPath</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#7f505664c41d7304fb757d6009b0751c" title="CheckPackageFormat() tries to determine the format of a &quot;package&quot; folder...">CheckPackageFormat()</a></code> tries to determine the format of a "package" folder.
+<p>
+<code>CheckPackageFormat</code> tries to determine the format of a "package" given the name of the top level folder, returning an XMP_FileFormat value. Examples of recognized packages include the video formats P2, XDCAM, or Sony HDV. These packages contain collections of "clips", stored as multiple files in specific subfolders.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>folderPath</em>&nbsp;</td><td>The path for the top level folder, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string. The path is not the same as would be passed to <code>OpenFile</code>. For example the path passed to <code>CheckPackageFormat</code> might be ".../MyMovie", while the path passed to <code>OpenFile</code> would be ".../MyMovie/SomeClip".</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The package's format if a smart handler would be selected, otherwise <code>kXMP_UnknownFile</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="fcd21cfe5d6f13c648c5541e161919cb"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="fcd21cfe5d6f13c648c5541e161919cb" args="(XMP_StringPtr filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access.
+<p>
+Opens a file for the requested forms of metadata access. Opening the file at a minimum causes the raw XMP packet to be read from the file. If the file handler supports legacy metadata reconciliation then legacy metadata is also read, unless <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> is passed. If the file handler supports native thumbnails and <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> is passed, the native thumbnail is cached.<p>
+If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.<p>
+If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.<p>
+Typically, the XMP is not parsed and legacy reconciliation is not performed until <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> is called, but this is not guaranteed. Specific file handlers might do earlier parsing of the XMP. Delayed parsing and early disk file close for read-only access are optimizations to help clients implementing file browsers, so that they can access the file briefly and possibly display a thumbnail, then postpone more expensive XMP processing until later.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>The path for the file, appropriate for the local operating system. Passed as a nul-terminated UTF-8 string.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format of the file. If the format is unknown (<code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code>) the format is determined from the file content. The first handler to check is guessed from the file's extension. Passing a specific format value is generally just a hint about what file handler to try first (instead of the one based on the extension). If <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> is set, then any format other than <code><a class="el" href="XMP__Const_8h.html#385c44f6fb256e5716a2302a5b9403882845f95eaaaf492f5011bff05a398719" title="Unknown file format constant: &#39; &#39;.">kXMP_UnknownFile</a></code> requires that the file actually be that format; otherwise an exception is thrown.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>A set of option flags that describe the desired access. By default (zero) the file is opened for read-only access and the format handler decides on the level of reconciliation that will be performed. A logical OR of these bit-flag constants:</td></tr>
+ </table>
+</dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code> - Open for read-only access. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code> - Open for reading and writing. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaa58279b2b1311242e7374117f455bb96" title="Only the XMP is wanted, allows space/time optimizations.">kXMPFiles_OpenOnlyXMP</a></code> - Only the XMP is wanted, no reconciliation. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> - Cache thumbnail if possible, GetThumbnail will be called. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea0bef4db2ecdaf82a85df9e9d417aab18" title="Be strict about locating XMP and reconciling with other forms.">kXMPFiles_OpenStrictly</a></code> - Be strict about locating XMP and reconciling with other forms. By default, a best effort is made to locate the correct XMP and to reconcile XMP with other forms (if reconciliation is done). This option forces stricter rules, resulting in exceptions for errors. The definition of strictness is specific to each handler, there might be no difference. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> - Require the use of a smart handler. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea77b47c63e579b28cbd25083ceb58c285" title="Force packet scanning, do not use a smart handler.">kXMPFiles_OpenUsePacketScanning</a></code> - Force packet scanning, do not use a smart handler.</li>
+</ul>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file is succesfully opened and attached to a file handler. False for anticipated problems, such as passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaf6332435c7fc89cb0b7381e13fe43646" title="Require the use of a smart handler.">kXMPFiles_OpenUseSmartHandler</a></code> but not having an appropriate smart handler. Throws an exception for serious problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cfef1688f3a62e2f465bb3a27da7b4ac"></a><!-- doxytag: member="TXMPFiles::OpenFile" ref="cfef1688f3a62e2f465bb3a27da7b4ac" args="(const tStringObj &amp;filePath, XMP_FileFormat format=kXMP_UnknownFile, XMP_OptionBits openFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::OpenFile </td>
+ <td>(</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>filePath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a>&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>kXMP_UnknownFile</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> opens a file for metadata access, using a string object
+<p>
+Overloads the basic form of the function, allowing you to pass a string object for the file path. It is otherwise identical; see details in the canonical form.
+</div>
+</div><p>
+<a class="anchor" name="eca89170c7aa3e2d56e30bff04dd7927"></a><!-- doxytag: member="TXMPFiles::CloseFile" ref="eca89170c7aa3e2d56e30bff04dd7927" args="(XMP_OptionBits closeFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CloseFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>closeFlags</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a> explicitly closes an opened file.
+<p>
+Performs any necessary output to the file and closes it. Files that are opened for update are written to only when closing.<p>
+If the file is opened for read-only access (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea4c61ec4ed571dbc5f1832ff6772320d2" title="Open for read-only access.">kXMPFiles_OpenForRead</a></code>), the disk file is closed immediately after reading the data from it; the <code>XMPFiles</code> object, however, remains in the open state. You must call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> when finished using it. Other methods, such as <code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code>, can only be used between the <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> and <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> calls. The <code>XMPFiles</code> destructor does not call <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>; if you call it without closing, any pending updates are lost.<p>
+If the file is opened for update (passing <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1ea91fa388b3888bcb6a68615537b66a49b" title="Open for reading and writing.">kXMPFiles_OpenForUpdate</a></code>), the disk file remains open until <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called. The disk file is only updated once, when <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> is called, regardless of how many calls are made to <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>closeFlags</em>&nbsp;</td><td>Option flags for optional closing actions. This bit-flag constant is defined:</td></tr>
+ </table>
+</dl>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#f9bdc3014f3d54c426b6d2df10de4960dbf8d744f355ef9800a4ec44325baf54" title="Write into a temporary file and swap for crash safety.">kXMPFiles_UpdateSafely</a></code> - Write into a temporary file then swap for crash safety. </li>
+</ul>
+
+</div>
+</div><p>
+<a class="anchor" name="f9931d081cb19f98c81e41786030765b"></a><!-- doxytag: member="TXMPFiles::GetFileInfo" ref="f9931d081cb19f98c81e41786030765b" args="(tStringObj *filePath=0, XMP_OptionBits *openFlags=0, XMP_FileFormat *format=0, XMP_OptionBits *handlerFlags=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetFileInfo </td>
+ <td>(</td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>filePath</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>openFlags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#300d9a9189cb4ddb6970d05389f5c28e">XMP_FileFormat</a> *&nbsp;</td>
+ <td class="paramname"> <em>format</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>handlerFlags</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#f9931d081cb19f98c81e41786030765b" title="GetFileInfo() retrieves basic information about an opened file.">GetFileInfo()</a></code> retrieves basic information about an opened file.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>filePath</em>&nbsp;</td><td>[out] A buffer in which to return the path passed to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>openFlags</em>&nbsp;</td><td>[out] A buffer in which to return the option flags passed to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. Can be null if value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>[out] A buffer in which to return the file format. Can be null if value is not wanted. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>handlerFlags</em>&nbsp;</td><td>[out] A buffer in which to return the handler's capability flags. Can be null if value is not wanted.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file object is in the open state; that is, <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code> has been called but <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code> has not. False otherwise. Even if the file object is open, the actual disk file might be closed in the host file-system sense; see <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7b86c130fdbd54b5ac158ec3fee93777"></a><!-- doxytag: member="TXMPFiles::SetAbortProc" ref="7b86c130fdbd54b5ac158ec3fee93777" args="(XMP_AbortProc abortProc, void *abortArg)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::SetAbortProc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#a2738ce2fca7f1809b12834b1b5e2d0e">XMP_AbortProc</a>&nbsp;</td>
+ <td class="paramname"> <em>abortProc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>abortArg</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#7b86c130fdbd54b5ac158ec3fee93777" title="SetAbortProc() registers a callback function used to check for a user-signaled abort...">SetAbortProc()</a></code> registers a callback function used to check for a user-signaled abort.
+<p>
+The specified procedure is called periodically to allow a user to cancel time-consuming operations. The callback function should return true to signal an abort, which results in an exception being thrown.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>abortProc</em>&nbsp;</td><td>The callback function.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>abortArg</em>&nbsp;</td><td>A pointer to caller-defined data to pass to the callback function. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="42ca0bbc5ac66a8de1710e03a7ff17b3"></a><!-- doxytag: member="TXMPFiles::GetXMP" ref="42ca0bbc5ac66a8de1710e03a7ff17b3" args="(SXMPMeta *xmpObj=0, tStringObj *xmpPacket=0, XMP_PacketInfo *packetInfo=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetXMP </td>
+ <td>(</td>
+ <td class="paramtype">SXMPMeta *&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>packetInfo</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#42ca0bbc5ac66a8de1710e03a7ff17b3" title="GetXMP() retrieves the XMP metadata from an open file.">GetXMP()</a></code> retrieves the XMP metadata from an open file.
+<p>
+The function reports whether XMP is present in the file; you can choose to retrieve any or all of the parsed XMP, the raw XMP packet,or information about the raw XMP packet. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>[out] An XMP object in which to return the parsed XMP metadata. Can be null.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>[out] An string object in which to return the raw XMP packet as stored in the file. Can be null. The encoding of the packet is given in the <code>packetInfo</code>. Returns an empty string if the low level file handler does not provide the raw packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>packetInfo</em>&nbsp;</td><td>[out] An string object in which to return the location and form of the raw XMP in the file. <code><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> reflect the raw XMP in the file. The parsed XMP property values are always UTF-8. The writeable flag is taken from the packet trailer; it applies only to "format ignorant" writing. The <code><a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a></code> structure always reflects the state of the XMP in the file. The offset, length, and character form do not change as a result of calling <code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> unless the file is also written. Some file handlers might not return location or contents of the raw packet string. To determine whether one does, check the <code><a class="el" href="XMP__Const_8h.html#80155586fa275b28773c9b203f52cabadb116eed738d1fcdfe4ab9c1635e08ea" title="File handler returns raw XMP packet information.">kXMPFiles_ReturnsRawPacket</a></code> bit returned by <code><a class="el" href="classTXMPFiles.html#cb9e16a1477ec67fa6da6d736a9bc131" title="GetFormatInfo() reports what features are supported for a specific file format.">GetFormatInfo()</a></code>. If the low-level file handler does not provide the raw packet location, <code><a class="el" href="structXMP__PacketInfo.html#20f65fcfd0f3658ab93ff441a9d61d2c" title="Packet offset in the file in bytes, -1 if unknown.">XMP_PacketInfo::offset</a></code> and <code><a class="el" href="structXMP__PacketInfo.html#f526c582b66e24553f2d4b11eb714a44" title="Packet length in the file in bytes, -1 if unknown.">XMP_PacketInfo::length</a></code> are both 0, <code><a class="el" href="structXMP__PacketInfo.html#039ce6665fe8e08d922a46f266799f75" title="Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.">XMP_PacketInfo::charForm</a></code> is UTF-8, and <code><a class="el" href="structXMP__PacketInfo.html#66845c1d5f3f9f36a1543a7322bd7bd1" title="True if there is a packet wrapper and the trailer says writeable by dumb packet scanners...">XMP_PacketInfo::writeable</a></code> is false.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file has XMP, false otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4ea1eda39f803322e10b2a554ef8ab06"></a><!-- doxytag: member="TXMPFiles::GetThumbnail" ref="4ea1eda39f803322e10b2a554ef8ab06" args="(XMP_ThumbnailInfo *tnailInfo)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::GetThumbnail </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structXMP__ThumbnailInfo.html">XMP_ThumbnailInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>tnailInfo</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#4ea1eda39f803322e10b2a554ef8ab06" title="GetThumbnail() retrieves the native thumbnail from an open file.">GetThumbnail()</a></code> retrieves the native thumbnail from an open file.
+<p>
+Use this function to obtain native thumbnail information, if the associated file handler supports that and the thumbnail was cached by the call to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>; that is, the <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> option flag was set. The return value reports whether a thumbnail is present in the file.<p>
+The returned thumbnail information can be incomplete, depending on the file format, the file handler's capabilities, and the specific file content.<p>
+<ul>
+<li>The <code><a class="el" href="structXMP__ThumbnailInfo.html#89f158688c90cef1df24bbfb7770a881" title="Full image size in pixels.">XMP_ThumbnailInfo::fullWidth</a></code>, <code>fullHeight</code>, and <code>fullOrientation</code> fields are only meaningful for image files. They are not meaningful for multi-page files such as PDF or InDesign, for dynamic audio or video files, and so on. The field values are zero if not meaningful or not determined. </li>
+<li>The <code><a class="el" href="structXMP__ThumbnailInfo.html#683c74dc7168f0046204ea153de3c179" title="Raw image data from the host file, valid for life of the owning XMPFiles object....">XMP_ThumbnailInfo::tnailImage</a></code> and <code><a class="el" href="structXMP__ThumbnailInfo.html#77072568158233d0c44dd4c8636366ff" title="The size in bytes of the thumbnail image data.">XMP_ThumbnailInfo::tnailSize</a></code> fields might be zero even if a recognized thumbnail is present.</li>
+</ul>
+Being recognized means only that the handler has determined that the file does contain a native thumbnail. The thumbnail data might be of a format that the file handler cannot return as a single contiguous block of thumbnail data. For example, for a TIFF uncompressed thumbnail, the handler might not have logic to gather the various disjoint pieces of the thumbnail from the overall TIFF stream.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>tnailInfo</em>&nbsp;</td><td>[out] Optional. A buffer in which to return information about a recognized native thumbnail, and related information about the primary image if appropriate. Can be null if the information is not desired.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a recognized native thumbnail is present and the thumbnail was cached by the call to <code><a class="el" href="classTXMPFiles.html#fcd21cfe5d6f13c648c5541e161919cb" title="OpenFile() opens a file for metadata access.">OpenFile()</a></code>; that is, the <code><a class="el" href="XMP__Const_8h.html#6b7b47dd702d9e331586d485013fd1eaca2002b03d2a88da0203bf52a3122063" title="Cache thumbnail if possible, TXMPFiles::GetThumbnail() will be called.">kXMPFiles_OpenCacheTNail</a></code> option flag was set. Can return true even if the function cannot retrieve the actual thumbnail image. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d3f7babdc07c7de0d0cd9a3362b4710a"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="d3f7babdc07c7de0d0cd9a3362b4710a" args="(const SXMPMeta &amp;xmpObj)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
+ <td>(</td>
+ <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file.
+<p>
+This function supplies new XMP for the file. However, the disk file is not written until the object is closed with <code><a class="el" href="classTXMPFiles.html#eca89170c7aa3e2d56e30bff04dd7927" title="CloseFile() explicitly closes an opened file.">CloseFile()</a></code>. The options provided when the file was opened determine if reconciliation is done with other forms of metadata.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The new metadata as an XMP object. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="da77eab74c3440659db3122f6ec8b7f4"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="da77eab74c3440659db3122f6ec8b7f4" args="(const tStringObj &amp;xmpPacket)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
+ <td>(</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object for input.
+<p>
+Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The new metadata as a string object containing a complete XMP packet. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="502ed01119e0421413e773f4f42683ec"></a><!-- doxytag: member="TXMPFiles::PutXMP" ref="502ed01119e0421413e773f4f42683ec" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::PutXMP </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpLength</em> = <code>kXMP_UseNullTermination</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#d3f7babdc07c7de0d0cd9a3362b4710a" title="PutXMP() updates the XMP metadata in this object without writing out the file.">PutXMP()</a></code> updates the XMP metadata in this object without writing out the file, using a string object and optional length.
+<p>
+Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The new metadata as a <code>const char *</code> string containing an XMP packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpLength</em>&nbsp;</td><td>Optional. The number of bytes in the string. If not supplied, the string is assumed to be nul-terminated. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="29a11a1539d6300da3fb4c7e9ea02bb6"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="29a11a1539d6300da3fb4c7e9ea02bb6" args="(const SXMPMeta &amp;xmpObj)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td>(</td>
+ <td class="paramtype">const SXMPMeta &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet.
+<p>
+Use to determine if the file can probably be updated with a given set of XMP metadata. This depends on the size of the packet, the options with which the file was opened, and the capabilities of the handler for the file format. The function obtains the length of the serialized packet for the provided XMP, but does not keep it or modify it, and does not cause the file to be written when closed. This is implemented roughly as follows:<p>
+<pre>
+ bool CanPutXMP ( XMP_StringPtr xmpPacket )
+ {
+ XMP_FileFormat format;
+ this-&gt;GetFileInfo ( 0, &amp;format, 0 );</pre><p>
+<pre> XMP_OptionBits formatFlags;
+ GetFormatInfo ( format, &amp;formatFlags );</pre><p>
+<pre> if ( (formatFlags &amp; kXMPFiles_CanInjectXMP) &amp;&amp; (formatFlags &amp; kXMPFiles_CanExpand) ) return true;</pre><p>
+<pre> <a class="el" href="structXMP__PacketInfo.html" title="XMP packet description.">XMP_PacketInfo</a> packetInfo;
+ bool hasXMP = this-&gt;GetXMP ( 0, 0, &amp;packetInfo );</pre><p>
+<pre> if ( ! hasXMP ) {
+ if ( formatFlags &amp; kXMPFiles_CanInjectXMP ) return true;
+ } else {
+ if ( (formatFlags &amp; kXMPFiles_CanExpand) ||
+ (packetInfo.length &gt;= strlen(xmpPacket)) ) return true;
+ }
+ return false;
+ }
+ </pre><p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The proposed new metadata as an XMP object. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1d3f32c2b95659ada198775e2f67c808"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="1d3f32c2b95659ada198775e2f67c808" args="(const tStringObj &amp;xmpPacket)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td>(</td>
+ <td class="paramtype">const tStringObj &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object.
+<p>
+Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a string object containing an XMP packet. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2303dfcc00f108bda202600e3da9c109"></a><!-- doxytag: member="TXMPFiles::CanPutXMP" ref="2303dfcc00f108bda202600e3da9c109" args="(XMP_StringPtr xmpPacket, XMP_StringLen xmpLength=kXMP_UseNullTermination)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPFiles.html">TXMPFiles</a>&lt; tStringObj &gt;::CanPutXMP </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpPacket</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#9f7dcc184f901c713274edfdac5bcc9a">XMP_StringLen</a>&nbsp;</td>
+ <td class="paramname"> <em>xmpLength</em> = <code>kXMP_UseNullTermination</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPFiles.html#29a11a1539d6300da3fb4c7e9ea02bb6" title="CanPutXMP() reports whether this file can be updated with a specific XMP packet.">CanPutXMP()</a></code> reports whether this file can be updated with a specific XMP packet, passed in a string object.
+<p>
+Overloads the basic form of the function, allowing you to pass the metadata as a string object instead of an XMP object. It is otherwise identical; see details in the canonical form.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>The proposed new metadata as a <code>const char *</code> string containing an XMP packet.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>xmpLength</em>&nbsp;</td><td>Optional. The number of bytes in the string. If not supplied, the string is assumed to be nul-terminated. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPFiles_8hpp-source.html">TXMPFiles.hpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/classTXMPIterator-members.html b/docs/API/classTXMPIterator-members.html
new file mode 100644
index 0000000..50a5888
--- /dev/null
+++ b/docs/API/classTXMPIterator-members.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: Member List</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPIterator&lt; tStringObj &gt; Member List</h1>This is the complete list of members for <a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a>(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">operator=</a>(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">Skip</a>(XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a>(const TXMPIterator&lt; tStringObj &gt; &amp;original)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#b0965286a8cabeafc92fdc52f643003f">TXMPIterator</a>(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a>(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">~TXMPIterator</a>()</td><td><a class="el" href="classTXMPIterator.html">TXMPIterator&lt; tStringObj &gt;</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/API/classTXMPIterator.html b/docs/API/classTXMPIterator.html
new file mode 100644
index 0000000..09d7aff
--- /dev/null
+++ b/docs/API/classTXMPIterator.html
@@ -0,0 +1,452 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>XMP-Toolkit-SDK-4.4.2: TXMPIterator&lt; tStringObj &gt; Class Template Reference</title>
+<link href="xmp.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<img src="xmp_tagline_small.jpg" width="125" height="50" border="0"><p>
+<!-- Generated by Doxygen 1.5.6 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TXMPIterator&lt; tStringObj &gt; Class Template Reference</h1><!-- doxytag: class="TXMPIterator" -->API for access to the XMP Toolkit iteration services.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="TXMPIterator_8hpp-source.html">TXMPIterator.hpp</a>&gt;</code>
+<p>
+
+<p>
+<a href="classTXMPIterator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#d767d731320d3f4c997c6ce9f7f8fa63">operator=</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;rhs)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator, assigns the internal ref and increments the ref count. <a href="#d767d731320d3f4c997c6ce9f7f8fa63"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#88e855c18b2b15f7b8a5ccf3b9398352">TXMPIterator</a> (const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;original)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor, creates a client object refering to the same internal object. <a href="#88e855c18b2b15f7b8a5ccf3b9398352"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#5c1bd03e776a91cbb6fd02991fe08e1b">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for properties within a schema in an XMP object. <a href="#5c1bd03e776a91cbb6fd02991fe08e1b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#3aab7b2ddd84f25e024d7c3e66161cac">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for a subtree of properties within an XMP object. <a href="#3aab7b2ddd84f25e024d7c3e66161cac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#b0965286a8cabeafc92fdc52f643003f">TXMPIterator</a> (const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;xmpObj, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the entire data tree within an XMP object. <a href="#b0965286a8cabeafc92fdc52f643003f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b2b7a3d6359aec216adf32bdf7fb140"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="6b2b7a3d6359aec216adf32bdf7fb140" args="(XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#6b2b7a3d6359aec216adf32bdf7fb140">TXMPIterator</a> (<a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> schemaNS, <a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a> propName, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an iterator for the global tables of the XMP toolkit. Not implemented. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="911554533e8a3f09ab8870bd54462196"></a><!-- doxytag: member="TXMPIterator::~TXMPIterator" ref="911554533e8a3f09ab8870bd54462196" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#911554533e8a3f09ab8870bd54462196">~TXMPIterator</a> () throw ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, typical virtual destructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9">Next</a> (tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, <a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *options=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration. <a href="#124a1dd1ab3ff0d236e4d4b967dafcd9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2">Skip</a> (<a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> options)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations. <a href="#30b4d78974b347e4fcd275f1f65a61b2"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class tStringObj&gt;<br>
+ class TXMPIterator&lt; tStringObj &gt;</h3>
+
+API for access to the XMP Toolkit iteration services.
+<p>
+<code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> provides a uniform means to iterate over the schema and properties within an XMP object. <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> is a template class which must be instantiated with a string class such as <code>std::string</code>. See the instructions in XMP.hpp, and the Overview for a discussion of the overall architecture of the XMP API. Access these functions through the concrete class, <code>SXMPIterator</code>.<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Only XMP object iteration is currently available. Future development may include iteration over global tables, such as registered namespaces.</dd></dl>
+To understand how iteration works, you should have a thorough understanding of the XMP data tree, as described in the XMP Specification Part 1. You might also find it helpful to create some complex XMP and examine the output of <code><a class="el" href="classTXMPMeta.html#466fa349c9765f39ca6b1450908e769f" title="DumpObject() outputs the content of an XMP object to a callback handler for debugging...">TXMPMeta::DumpObject()</a></code>.<p>
+<ul>
+<li>The top of the XMP data tree is a single root node. This does not explicitly appear in the dump and is never visited by an iterator; that is, it is never returned from <code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code>.</li>
+</ul>
+<ul>
+<li>Beneath the root are schema nodes; these collect the top-level properties in the same namespace. They are created and destroyed implicitly.</li>
+</ul>
+<ul>
+<li>Beneath the schema nodes are the property nodes. The nodes below a property node depend on its type (simple, struct, or array) and whether it has qualifiers.</li>
+</ul>
+A <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> constructor defines a starting point for the iteration, and options that control how it proceeds. By default, iteration starts at the root and visits all nodes beneath it in a depth-first manner. The root node iteself is not visited; the first visited node is a schema node. You can provide a schema name or property path to select a different starting node. By default, this visits the named root node first then all nodes beneath it in a depth-first manner.<p>
+The function <code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">TXMPIterator::Next()</a></code> delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value. Qualifiers for this node are visited next. The fields of a struct or items of an array are visited after the qualifiers of the parent.<p>
+You can specify options when contructing the iteration object to control how the iteration is performed.<p>
+<ul>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit just the immediate children of the root. Skip the root itself and all nodes below the immediate children. This omits the qualifiers of the immediate children, the qualifier nodes being below what they qualify. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit just the leaf property nodes and their qualifiers. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf component of the node names. The default is to return the full path name. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635c06dbc804df2e5ac24d77ca50a21fa08" title="Include aliases, default is just actual properties.">kXMP_IterIncludeAliases</a></code> - Include aliases as part of the iteration. Since aliases are not actual nodes the default iteration does not visit them. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Do not visit the qualifiers of a node. </li>
+</ul>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="88e855c18b2b15f7b8a5ccf3b9398352"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="88e855c18b2b15f7b8a5ccf3b9398352" args="(const TXMPIterator&lt; tStringObj &gt; &amp;original)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>original</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Copy constructor, creates a client object refering to the same internal object.
+<p>
+Creates a new client iterator that refers to the same underlying iterator as an existing object.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>An existing iteration object to copy. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5c1bd03e776a91cbb6fd02991fe08e1b"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="5c1bd03e776a91cbb6fd02991fe08e1b" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>propName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs an iterator for properties within a schema in an XMP object.
+<p>
+See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI to restrict the iteration. To visit all of the schema, pass 0 or the empty string "".</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propName</em>&nbsp;</td><td>Optional property name to restrict the iteration. May be an arbitrary path expression. If provided, a schema URI must also be provided. To visit all properties, pass 0 or the empty string "".</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+</ul>
+</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3aab7b2ddd84f25e024d7c3e66161cac"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="3aab7b2ddd84f25e024d7c3e66161cac" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#d439e3ceeb4590d310f6125aa12c6df6">XMP_StringPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs an iterator for a subtree of properties within an XMP object.
+<p>
+See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>Optional schema namespace URI to restrict the iteration. To visit all of the schema, pass 0 or the empty string "".</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+</ul>
+</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a> object. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b0965286a8cabeafc92fdc52f643003f"></a><!-- doxytag: member="TXMPIterator::TXMPIterator" ref="b0965286a8cabeafc92fdc52f643003f" args="(const TXMPMeta&lt; tStringObj &gt; &amp;xmpObj, XMP_OptionBits options=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::<a class="el" href="classTXMPIterator.html">TXMPIterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPMeta.html">TXMPMeta</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>xmpObj</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs an iterator for the entire data tree within an XMP object.
+<p>
+See the class description for the general operation of an XMP object iterator. Overloaded forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or properties within a specific schema.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>xmpObj</em>&nbsp;</td><td>The XMP object over which to iterate.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration. A logical OR of these bit flag constants: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635b26e1a38d1d0343fcc5bdaab1b60e3ed" title="Just do the immediate children of the root, default is subtree.">kXMP_IterJustChildren</a></code> - Visit only the immediate children of the root; default visits subtrees. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266354589f99b5b4a55e785e3baf4fe1d9b19" title="Just do the leaf nodes, default is all nodes in the subtree.">kXMP_IterJustLeafNodes</a></code> - Visit only the leaf nodes; default visits all nodes. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f26635cf22e638f4144bcec8207b2ab69bb344" title="Return just the leaf part of the path, default is the full path.">kXMP_IterJustLeafName</a></code> - Return just the leaf part of the path; default returns the full path. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#726ca809ffd3d67ab4b8476646f266351b91947105ae68c48c5d5e36aa70d101" title="Omit all qualifiers.">kXMP_IterOmitQualifiers</a></code> - Omit all qualifiers.</li>
+</ul>
+</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <code><a class="el" href="classTXMPIterator.html" title="API for access to the XMP Toolkit iteration services.">TXMPIterator</a></code> object. </dd></dl>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d767d731320d3f4c997c6ce9f7f8fa63"></a><!-- doxytag: member="TXMPIterator::operator=" ref="d767d731320d3f4c997c6ce9f7f8fa63" args="(const TXMPIterator&lt; tStringObj &gt; &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Assignment operator, assigns the internal ref and increments the ref count.
+<p>
+Assigns the internal reference from an existing object and increments the reference count on the underlying internal XMP iterator.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>An existing iteration object. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="124a1dd1ab3ff0d236e4d4b967dafcd9"></a><!-- doxytag: member="TXMPIterator::Next" ref="124a1dd1ab3ff0d236e4d4b967dafcd9" args="(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Next </td>
+ <td>(</td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>schemaNS</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>propPath</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">tStringObj *&nbsp;</td>
+ <td class="paramname"> <em>propValue</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a> *&nbsp;</td>
+ <td class="paramname"> <em>options</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPIterator.html#124a1dd1ab3ff0d236e4d4b967dafcd9" title="Next() visits the next node in the iteration.">Next()</a></code> visits the next node in the iteration.
+<p>
+Proceeds to the next node according to the options specified on creation of this object, and delivers the schema URI, path, and option flags for the node being visited. If the node is simple, it also delivers the value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>schemaNS</em>&nbsp;</td><td>[out] A string object in which to return the assigned the schema namespace URI of the current property. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propPath</em>&nbsp;</td><td>[out] A string object in which to return the XPath name of the current property. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>propValue</em>&nbsp;</td><td>[out] A string object in which to return the value of the current property. Can be null if the value is not wanted.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>[out] A buffer in which to return the flags describing the current property, which are a logical OR of <code><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8" title="The type for a collection of 32 flag bits. Individual flags are defined as enum value...">XMP_OptionBits</a></code> bit-flag constants.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if there was another node to visit, false if the iteration is complete. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="30b4d78974b347e4fcd275f1f65a61b2"></a><!-- doxytag: member="TXMPIterator::Skip" ref="30b4d78974b347e4fcd275f1f65a61b2" args="(XMP_OptionBits options)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class tStringObj&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classTXMPIterator.html">TXMPIterator</a>&lt; tStringObj &gt;::Skip </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="XMP__Const_8h.html#eb865118433be92d88e5f49ed11487c8">XMP_OptionBits</a>&nbsp;</td>
+ <td class="paramname"> <em>options</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<code><a class="el" href="classTXMPIterator.html#30b4d78974b347e4fcd275f1f65a61b2" title="Skip() skips some portion of the remaining iterations.">Skip()</a></code> skips some portion of the remaining iterations.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Option flags to control the iteration, a logical OR of these bit-flag constants: <ul>
+<li><code><a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2db0b540cd3841f411471a827f833c606e" title="Skip the subtree below the current node.">kXMP_IterSkipSubtree</a></code> - Skip the subtree below the current node. </li>
+<li><code><a class="el" href="XMP__Const_8h.html#0411cd49bb5b71852cecd93bcbf0ca2d2537b4b8db838f85b47988b198cd2a12" title="Skip the subtree below and remaining siblings of the current node.">kXMP_IterSkipSiblings</a></code> - Skip the subtree below and remaining siblings of the current node. </li>
+</ul>
+</td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="TXMPIterator_8hpp-source.html">TXMPIterator.hpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>
+XMP-Toolkit-SDK-4.4.2 documentation generated by&nbsp;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.6</small></address>
+</body>
+</html>
diff --git a/docs/XMPToolkit/classTXMPMeta-members.html b/docs/API/classTXMPMeta-members.html
index 8df4145..631e83a 100644
--- a/