ldapsdk  0.0.1
LDAPRequest.h
Go to the documentation of this file.
1 // $OpenLDAP$
2 /*
3  * Copyright 2000-2011 The OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6 
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 
26 
27  public :
28  static const int BIND=0;
29  static const int UNBIND=2;
30  static const int SEARCH=3;
31  static const int MODIFY=7;
32  static const int ADD=8;
33  static const int DELETE=10;
34  static const int COMPARE=14;
35 
36  LDAPRequest(const LDAPRequest& req);
38  const LDAPConstraints* cons, bool isReferral=false,
39  const LDAPRequest* parent=0);
40  virtual ~LDAPRequest();
41 
42  const LDAPConstraints* getConstraints() const;
43  const LDAPAsynConnection* getConnection() const;
44  virtual LDAPMsg *getNextMessage() const;
45  int getType()const;
46  int getMsgID() const;
47  int getHopCount() const;
48 
53  const LDAPRequest* getParent() const;
54 
59  bool isReferral() const;
60 
61  void unbind() const;
62 
67  virtual LDAPMessageQueue* sendRequest()=0;
68  virtual LDAPRequest* followReferral(LDAPMsg* ref);
69 
74  virtual bool equals(const LDAPRequest* req) const;
75 
76  bool isCycle() const;
77 
78  protected :
85  int m_msgID; //the associated C-API Message ID
86  LDAPRequest();
87 };
88 #endif //LDAP_REQUEST_H
89