]> git.sur5r.net Git - openldap/blob - contrib/ldapc++/src/LDAPRequest.h
b77aa945cfa151b30e970786dd33b6777e27a020
[openldap] / contrib / ldapc++ / src / LDAPRequest.h
1 /*
2  * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
3  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4  */
5
6 // $Id: LDAPRequest.h,v 1.11 2000/08/31 17:43:49 rhafer Exp $
7
8 #ifndef LDAP_REQUEST_H
9 #define LDAP_REQUEST_H
10
11 #include "LDAPConstraints.h"
12 #include "LDAPAsynConnection.h"
13 #include "LDAPMessageQueue.h"
14
15 class LDAPUrl;
16
17 //!virtual class for Requests
18 class LDAPRequest{
19         
20     protected :
21         bool m_isReferral;
22         int m_requestType;
23         LDAPConstraints *m_cons;
24         const LDAPAsynConnection *m_connection;
25         int m_msgID;  //the associated C-API Message ID
26         LDAPRequest();
27
28     public :
29         LDAPRequest(const LDAPRequest& req);
30         LDAPRequest(const LDAPAsynConnection* conn, const LDAPConstraints* cons, 
31                 bool isReferral=false);
32         virtual ~LDAPRequest();
33         virtual LDAPMessageQueue* sendRequest()=0;
34         virtual LDAPRequest* followReferral(LDAPUrlList *ref)=0;
35         const LDAPConstraints* getConstraints();
36         const LDAPAsynConnection* getConnection();
37         int getType()const;
38         int getMsgID() const;
39         bool isReferral() const;
40         bool doRebind() const; 
41
42         static const int BIND=0;
43         static const int UNBIND=2;
44         static const int SEARCH=3;
45         static const int MODIFY=7;
46         static const int ADD=8;
47                 static const int DELETE=10;
48         static const int COMPARE=14;
49 };
50 #endif //LDAP_REQUEST_H 
51