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 
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 
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