00001
00002
00003
00004
00005
00006
00013
00014
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 }
00092 }
00093 }
00094 }
00095
00096 #endif
00097
00098
00099
00100
00101
00102