00001 // $OpenLDAP$ 00002 /* 00003 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved. 00004 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 00005 */ 00006 00007 #ifndef LDAP_SEARCH_REQUEST_H 00008 #define LDAP_SEARCH_REQUEST_H 00009 00010 #include <queue> 00011 #include <LDAPRequest.h> 00012 00013 class LDAPSearchReference; 00014 class LDAPReferral; 00015 class LDAPUrl; 00016 00017 class LDAPSearchRequest : public LDAPRequest{ 00018 00019 public : 00020 LDAPSearchRequest(const LDAPSearchRequest& req); 00021 00022 LDAPSearchRequest(const std::string& base, int scope, const std::string& filter, 00023 const StringList& attrs, bool attrsOnly, 00024 LDAPAsynConnection *connect, 00025 const LDAPConstraints* cons, bool isReferral=false, 00026 const LDAPRequest* parent=0); 00027 virtual ~LDAPSearchRequest(); 00028 virtual LDAPMessageQueue* sendRequest(); 00029 virtual LDAPRequest* followReferral(LDAPMsg* ref); 00030 virtual bool equals(const LDAPRequest* req) const; 00031 00032 private : 00033 std::string m_base; 00034 int m_scope; 00035 std::string m_filter; 00036 StringList m_attrs; 00037 bool m_attrsOnly; 00038 00039 //no default constructor 00040 LDAPSearchRequest(){}; 00041 }; 00042 00043 #endif //LDAP_SEARCH_REQUEST_H