ldapsdk  0.0.1
LDAPRequest.h
Go to the documentation of this file.
1 // $OpenLDAP$
2 /*
3  * Copyright 2000-2013 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 
static const int UNBIND
Definition: LDAPRequest.h:29
virtual LDAPRequest * followReferral(LDAPMsg *ref)
Definition: LDAPRequest.cpp:74
const LDAPConstraints * getConstraints() const
Definition: LDAPRequest.cpp:81
const LDAPAsynConnection * getConnection() const
Definition: LDAPRequest.cpp:86
int m_msgID
Definition: LDAPRequest.h:85
This class is created for the asynchronous LDAP-operations.
Definition: LDAPMessageQueue.h:27
virtual LDAPMessageQueue * sendRequest()=0
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
virtual ~LDAPRequest()
Definition: LDAPRequest.cpp:46
int m_hopCount
Definition: LDAPRequest.h:84
This class represents any type of LDAP- Message returned from the server.
Definition: LDAPMessage.h:23
static const int COMPARE
Definition: LDAPRequest.h:34
bool isReferral() const
Definition: LDAPRequest.cpp:111
For internal use only.
Definition: LDAPRequest.h:25
LDAPAsynConnection * m_connection
Definition: LDAPRequest.h:82
static const int ADD
Definition: LDAPRequest.h:32
This class represents an asynchronous connection to an LDAP-Server.
Definition: LDAPAsynConnection.h:45
static const int SEARCH
Definition: LDAPRequest.h:30
bool isCycle() const
Definition: LDAPRequest.cpp:126
virtual bool equals(const LDAPRequest *req) const
Compare this request with another on.
Definition: LDAPRequest.cpp:116
int getType() const
Definition: LDAPRequest.cpp:91
static const int MODIFY
Definition: LDAPRequest.h:31
This class is used to analyze and store LDAP-Urls as returned by a LDAP-Server as Referrals and Searc...
Definition: LDAPUrl.h:22
void unbind() const
Definition: LDAPRequest.cpp:142
LDAPRequest()
Definition: LDAPRequest.cpp:13
bool m_isReferral
Definition: LDAPRequest.h:79
int getHopCount() const
Definition: LDAPRequest.cpp:101
LDAPConstraints * m_cons
Definition: LDAPRequest.h:81
int getMsgID() const
Definition: LDAPRequest.cpp:96
const LDAPRequest * m_parent
Definition: LDAPRequest.h:83
static const int DELETE
Definition: LDAPRequest.h:33
virtual LDAPMsg * getNextMessage() const
Definition: LDAPRequest.cpp:51
const LDAPRequest * getParent() const
Definition: LDAPRequest.cpp:106
static const int BIND
Definition: LDAPRequest.h:28
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27
int m_requestType
Definition: LDAPRequest.h:80