
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 // ================================================================================================= 00077 // ================================================================================================= 00078 00079 #include "client-glue/WXMPIterator.hpp" 00080 00081 template <class tStringObj> class TXMPIterator { 00082 00083 public: 00084 00085 // --------------------------------------------------------------------------------------------- 00092 00093 void operator= ( const TXMPIterator<tStringObj> & rhs ); 00094 00095 // --------------------------------------------------------------------------------------------- 00101 00102 TXMPIterator ( const TXMPIterator<tStringObj> & original ); 00103 00104 // --------------------------------------------------------------------------------------------- 00127 00128 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00129 XMP_StringPtr schemaNS, 00130 XMP_StringPtr propName, 00131 XMP_OptionBits options = 0 ); 00132 00133 // --------------------------------------------------------------------------------------------- 00152 00153 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00154 XMP_StringPtr schemaNS, 00155 XMP_OptionBits options = 0 ); 00156 00157 // --------------------------------------------------------------------------------------------- 00173 00174 TXMPIterator ( const TXMPMeta<tStringObj> & xmpObj, 00175 XMP_OptionBits options = 0 ); 00176 00177 // --------------------------------------------------------------------------------------------- 00179 00180 TXMPIterator ( XMP_StringPtr schemaNS, 00181 XMP_StringPtr propName, 00182 XMP_OptionBits options ); 00183 00184 // --------------------------------------------------------------------------------------------- 00186 00187 virtual ~TXMPIterator() throw(); 00188 00189 // --------------------------------------------------------------------------------------------- 00209 00210 bool Next ( tStringObj * schemaNS = 0, 00211 tStringObj * propPath = 0, 00212 tStringObj * propValue = 0, 00213 XMP_OptionBits * options = 0 ); 00214 00215 // --------------------------------------------------------------------------------------------- 00222 00223 void Skip ( XMP_OptionBits options ); 00224 00225 private: 00226 00227 XMPIteratorRef iterRef; 00228 00229 TXMPIterator(); // ! Hidden, must choose property or table iteration. 00230 00231 }; // class TXMPIterator 00232 00233 // ================================================================================================= 00234 00235 #endif // __TXMPIterator_hpp__