00001 #ifndef __TXMPIterator_hpp__ 00002 #define __TXMPIterator_hpp__ 1 00003 00004 #if ( ! __XMP_hpp__ ) 00005 #error "Do not directly include, use XMP.hpp" 00006 #endif 00007 00008 // ================================================================================================= 00009 // ADOBE SYSTEMS INCORPORATED 00010 // Copyright 2002-2005 Adobe Systems Incorporated 00011 // All Rights Reserved 00012 // 00013 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 00014 // of the Adobe license agreement accompanying it. 00015 // ================================================================================================= 00016 00017 // ================================================================================================ 00024 // ================================================================================================ 00025 00026 // ================================================================================================ 00090 // ================================================================================================ 00091 00092 #include "client-glue/WXMPIterator.hpp" 00093 00094 template <class tStringObj> 00095 class TXMPIterator { 00096 00097 public: 00098 00099 // -------------------------------------------------------------------------------------------- 00104 00105 void operator= ( const TXMPIterator<tStringObj> & rhs ); 00106 00107 // -------------------------------------------------------------------------------------------- 00111 00112 TXMPIterator ( const TXMPIterator<tStringObj> & original ); 00113 00114 // -------------------------------------------------------------------------------------------- 00138 00139 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00140 XMP_StringPtr schemaNS, 00141 XMP_StringPtr propName, 00142 XMP_OptionBits options = 0 ); 00143 00144 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00145 XMP_StringPtr schemaNS, 00146 XMP_OptionBits options = 0 ); 00147 00148 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00149 XMP_OptionBits options = 0 ); 00150 00151 // -------------------------------------------------------------------------------------------- 00155 00156 TXMPIterator ( XMP_StringPtr schemaNS, 00157 XMP_StringPtr propName, 00158 XMP_OptionBits options ); 00159 00160 // -------------------------------------------------------------------------------------------- 00162 00163 virtual ~TXMPIterator() throw(); 00164 00165 // -------------------------------------------------------------------------------------------- 00181 00182 bool 00183 Next ( tStringObj * schemaNS = 0, 00184 tStringObj * propPath = 0, 00185 tStringObj * propValue = 0, 00186 XMP_OptionBits * options = 0 ); 00187 00188 // -------------------------------------------------------------------------------------------- 00197 00198 void 00199 Skip ( XMP_OptionBits options ); 00200 00201 private: 00202 00203 XMPIteratorRef iterRef; 00204 00205 TXMPIterator(); // ! Hidden, must choose property or table iteration. 00206 00207 }; // class TXMPIterator 00208 00209 // ================================================================================================= 00210 00211 #endif // __TXMPIterator_hpp__