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-2007 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 // ================================================================================================ 00084 // ================================================================================================ 00085 00086 #include "client-glue/WXMPIterator.hpp" 00087 00088 template <class tStringObj> 00089 class TXMPIterator { 00090 00091 public: 00092 00093 // -------------------------------------------------------------------------------------------- 00098 00099 void operator= ( const TXMPIterator<tStringObj> & rhs ); 00100 00101 // -------------------------------------------------------------------------------------------- 00105 00106 TXMPIterator ( const TXMPIterator<tStringObj> & original ); 00107 00108 // -------------------------------------------------------------------------------------------- 00132 00133 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00134 XMP_StringPtr schemaNS, 00135 XMP_StringPtr propName, 00136 XMP_OptionBits options = 0 ); 00137 00138 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00139 XMP_StringPtr schemaNS, 00140 XMP_OptionBits options = 0 ); 00141 00142 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00143 XMP_OptionBits options = 0 ); 00144 00145 // -------------------------------------------------------------------------------------------- 00149 00150 TXMPIterator ( XMP_StringPtr schemaNS, 00151 XMP_StringPtr propName, 00152 XMP_OptionBits options ); 00153 00154 // -------------------------------------------------------------------------------------------- 00156 00157 virtual ~TXMPIterator() throw(); 00158 00159 // -------------------------------------------------------------------------------------------- 00175 00176 bool 00177 Next ( tStringObj * schemaNS = 0, 00178 tStringObj * propPath = 0, 00179 tStringObj * propValue = 0, 00180 XMP_OptionBits * options = 0 ); 00181 00182 // -------------------------------------------------------------------------------------------- 00191 00192 void 00193 Skip ( XMP_OptionBits options ); 00194 00195 private: 00196 00197 XMPIteratorRef iterRef; 00198 00199 TXMPIterator(); // ! Hidden, must choose property or table iteration. 00200 00201 }; // class TXMPIterator 00202 00203 // ================================================================================================= 00204 00205 #endif // __TXMPIterator_hpp__