1// $OpenLDAP$
2/*
3 * Copyright 2000-2011 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5 */
6
7#ifndef LDAP_SEARCH_REQUEST_H
8#define LDAP_SEARCH_REQUEST_H
9
10#include <queue>
11#include <LDAPRequest.h>
12
13class LDAPSearchReference;
14class LDAPReferral;
15class LDAPUrl;
16
17class LDAPSearchRequest : public LDAPRequest{
18
19    public :
20        LDAPSearchRequest(const LDAPSearchRequest& req);
21
22        LDAPSearchRequest(const std::string& base, int scope, const std::string& filter,
23                          const StringList& attrs, bool attrsOnly,
24                          LDAPAsynConnection *connect,
25                          const LDAPConstraints* cons, bool isReferral=false,
26                          const LDAPRequest* parent=0);
27        virtual ~LDAPSearchRequest();
28        virtual LDAPMessageQueue* sendRequest();
29        virtual LDAPRequest* followReferral(LDAPMsg* ref);
30        virtual bool equals(const LDAPRequest* req) const;
31
32    private :
33        std::string m_base;
34        int m_scope;
35        std::string m_filter;
36        StringList m_attrs;
37        bool m_attrsOnly;
38
39        //no default constructor
40        LDAPSearchRequest(){};
41};
42
43#endif //LDAP_SEARCH_REQUEST_H
44