00001 /*************************************************************************** 00002 * filename : LDAPForwardIterator.h 00003 * authors : Salvatore Monforte <salvatore.monforte@ct.infn.it> 00004 * copyright : (C) 2001, 2002 by INFN 00005 ***************************************************************************/ 00006 00013 // $Id: 00014 // $Date: 00015 00016 #ifndef _LDAP_FORWARD_ITERATOR_ 00017 #define _LDAP_FORWARD_ITERATOR_ 00018 00019 #include <string> 00020 00021 namespace edg { 00022 namespace workload { 00023 namespace common { 00024 namespace ldif2classad { 00025 00026 class LDAPNoEntryEx 00027 { 00028 }; 00029 00031 class LDIFObject; 00032 00034 struct generic_search_result_t; 00035 struct generic_result_entry_t; 00036 00042 class LDAPForwardIterator 00043 { 00044 public: 00049 LDAPForwardIterator(generic_search_result_t *results); 00056 generic_result_entry_t* first(); 00061 generic_result_entry_t* next(); 00066 generic_result_entry_t* current() const; 00067 00072 std::string ldap_dn(); 00073 00078 const LDIFObject& operator*(); 00079 LDIFObject* operator->(); 00083 ~LDAPForwardIterator(); 00084 00085 private: 00087 generic_result_entry_t *current_entry; 00088 generic_search_result_t* search_result; 00089 }; 00090 00091 } // namespace ldif2classad 00092 } // namespace common 00093 } // namespace workload 00094 } // namespace edg 00095 00096 #endif 00097 00098 /* 00099 Local Variables: 00100 mode: c++ 00101 End: 00102 */