| XMP Toolkit SDK 6.0.0

TXMPIterator.hpp
Go to the documentation of this file.
1 #ifndef __TXMPIterator_hpp__
2 #define __TXMPIterator_hpp__ 1
3
4 #if ( ! __XMP_hpp__ )
5 #error "Do not directly include, use XMP.hpp"
6 #endif
7
8 // =================================================================================================
9 // Copyright Adobe
10 // Copyright 2002 Adobe
11 // All Rights Reserved
12 //
13 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
14 // of the Adobe license agreement accompanying it. If you have received this file from a source other
15 // than Adobe, then your use, modification, or distribution of it requires the prior written permission
16 // of Adobe.
17 // =================================================================================================
18
19 // =================================================================================================
26 // =================================================================================================
27
28 // =================================================================================================
77 // =================================================================================================
78
79 #include "client-glue/WXMPIterator.hpp"
80
81 template <class tStringObj> class TXMPIterator {
82
83 public:
84
85 // ---------------------------------------------------------------------------------------------
92
93 void operator= ( const TXMPIterator<tStringObj> & rhs );
94
95 // ---------------------------------------------------------------------------------------------
101
102 TXMPIterator ( const TXMPIterator<tStringObj> & original );
103
104 // ---------------------------------------------------------------------------------------------
127
128 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj,
129 XMP_StringPtr schemaNS,
130 XMP_StringPtr propName,
131 XMP_OptionBits options = 0 );
132
133 // ---------------------------------------------------------------------------------------------
152
153 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj,
154 XMP_StringPtr schemaNS,
155 XMP_OptionBits options = 0 );
156
157 // ---------------------------------------------------------------------------------------------
171
172
173 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj,
174 XMP_OptionBits options = 0 );
175
176 // ---------------------------------------------------------------------------------------------
178
179 TXMPIterator ( XMP_StringPtr schemaNS,
180 XMP_StringPtr propName,
181 XMP_OptionBits options );
182
183 // ---------------------------------------------------------------------------------------------
185
186 virtual ~TXMPIterator() throw();
187
188 // ---------------------------------------------------------------------------------------------
208
209 bool Next ( tStringObj * schemaNS = 0,
210 tStringObj * propPath = 0,
211 tStringObj * propValue = 0,
212 XMP_OptionBits * options = 0 );
213
214 // ---------------------------------------------------------------------------------------------
221
222 void Skip ( XMP_OptionBits options );
223
224 private:
225
226 XMPIteratorRef iterRef;
227
228 TXMPIterator(); // ! Hidden, must choose property or table iteration.
229
230 static void SetClientString ( void * clientPtr, XMP_StringPtr valuePtr, XMP_StringLen valueLen );
231
232 }; // class TXMPIterator
233
234 // =================================================================================================
235
236 #endif // __TXMPIterator_hpp__
TXMPIterator::operator=
void operator=(const TXMPIterator< tStringObj > &rhs)
Assignment operator, assigns the internal ref and increments the ref count.
TXMPIterator::~TXMPIterator
virtual ~TXMPIterator()
Destructor, typical virtual destructor.
TXMPIterator::TXMPIterator
TXMPIterator()
TXMPMeta
API for access to the XMP Toolkit core services.
Definition: TXMPMeta.hpp:57
XMP_StringPtr
const typedef char * XMP_StringPtr
The type for input string parameters. A const char *, a null-terminated UTF-8 string.
Definition: XMP_Const.h:178
TXMPIterator::Skip
void Skip(XMP_OptionBits options)
Skip() skips some portion of the remaining iterations.
TXMPIterator::SetClientString
static void SetClientString(void *clientPtr, XMP_StringPtr valuePtr, XMP_StringLen valueLen)
XMP_StringLen
XMP_Uns32 XMP_StringLen
The type for string length parameters. A 32-bit unsigned integer, as big as will be practically neede...
Definition: XMP_Const.h:179
TXMPIterator
API for access to the XMP Toolkit iteration services.
Definition: TXMPIterator.hpp:81
TXMPIterator::iterRef
XMPIteratorRef iterRef
Definition: TXMPIterator.hpp:226
TXMPIterator::Next
bool Next(tStringObj *schemaNS=0, tStringObj *propPath=0, tStringObj *propValue=0, XMP_OptionBits *options=0)
Next() visits the next node in the iteration.
XMPIteratorRef
struct __XMPIterator__ * XMPIteratorRef
An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration o...
Definition: XMP_Const.h:143
WXMPIterator.hpp
XMP_OptionBits
XMP_Uns32 XMP_OptionBits
The type for a collection of 32 flag bits.
Definition: XMP_Const.h:181