00001 // @(#)root/ldap:$Id: TLDAPResult.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Oleksandr Grebenyuk 21/09/2001 00003 00004 /************************************************************************* 00005 * For the licensing terms see $ROOTSYS/LICENSE. * 00006 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00007 *************************************************************************/ 00008 00009 #ifndef ROOT_TLDAPResult 00010 #define ROOT_TLDAPResult 00011 00012 #ifndef ROOT_TObject 00013 #include "TObject.h" 00014 #endif 00015 #ifndef ROOT_CintLDAP 00016 #include "CintLDAP.h" 00017 #endif 00018 00019 00020 class TLDAPServer; 00021 class TLDAPEntry; 00022 00023 00024 class TLDAPResult : public TObject { 00025 00026 friend class TLDAPServer; 00027 00028 private: 00029 LDAP *fLd; // LDAP handle of current connection 00030 LDAPMessage *fSearchResult; // Pointer to the LDAP structure that contain search results 00031 LDAPMessage *fCurrentEntry; // Pointer to the current entry to be returned from the next GetNext() call 00032 00033 TLDAPEntry *CreateEntry(LDAPMessage *entry); 00034 TLDAPResult() : fLd(NULL), fSearchResult(NULL), fCurrentEntry(NULL) { } 00035 TLDAPResult(LDAP *ld, LDAPMessage *searchresult); 00036 00037 protected: 00038 TLDAPResult(const TLDAPResult&); 00039 TLDAPResult& operator=(const TLDAPResult&); 00040 00041 public: 00042 virtual ~TLDAPResult(); 00043 00044 Int_t GetCount() const; 00045 TLDAPEntry *GetNext(); 00046 void Print(Option_t *option="") const; 00047 00048 ClassDef(TLDAPResult, 0) // LDAP search result set 00049 }; 00050 00051 #endif