Go to the documentation of this file.
8 #ifndef LDAP_ASYN_CONNECTION_H
9 #define LDAP_ASYN_CONNECTION_H
87 void init(
const std::string& hostname,
int port);
118 const std::string& passwd=
"",
122 const std::string& cred,
150 const std::string& filter=
"objectClass=*",
152 bool attrsOnly=
false,
224 const std::string& newRDN,
225 bool delOldRDN=
false,
const std::string& newParentDN=
"",
266 const std::string&
getHost()
const;
336 #endif //LDAP_ASYN_CONNECTION_H
LDAPMessageQueue * search(const std::string &base="", int scope=0, const std::string &filter="objectClass=*", const StringList &attrs=StringList(), bool attrsOnly=false, const LDAPConstraints *cons=0)
Performing a search on a directory tree.
Definition: LDAPAsynConnection.cpp:136
This class is only thrown as an Exception and used to signalize error conditions during LDAP-operatio...
Definition: LDAPException.h:23
LDAPMessageQueue * del(const std::string &dn, const LDAPConstraints *cons=0)
Delete an entry from the directory.
Definition: LDAPAsynConnection.cpp:156
This class represents an asynchronous connection to an LDAP-Server.
Definition: LDAPAsynConnection.h:45
#define LDAP_DEBUG_TRACE
Definition: debug.h:12
Definition: LDAPBindRequest.h:44
LDAPMessageQueue * rename(const std::string &dn, const std::string &newRDN, bool delOldRDN=false, const std::string &newParentDN="", const LDAPConstraints *cons=0)
modify the DN of an entry
Definition: LDAPAsynConnection.cpp:213
const std::string & getHost() const
Definition: LDAPAsynConnection.cpp:297
std::stack< LDAPRequest * > LDAPRequestStack
Definition: LDAPMessageQueue.h:19
Definition: LDAPExtRequest.h:12
This class is used to analyze and store LDAP-Urls as returned by a LDAP-Server as Referrals and Searc...
Definition: LDAPUrl.h:22
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPBindRequest.cpp:143
void abandon(LDAPMessageQueue *q)
End an outstanding request.
Definition: LDAPAsynConnection.cpp:248
LDAPAsynConnection(const std::string &url=std::string("localhost"), int port=0, LDAPConstraints *cons=new LDAPConstraints())
Construtor that initializes a connection to a server.
Definition: LDAPCompareRequest.h:14
#define LDAP_DEBUG_PARAMETER
Definition: debug.h:15
LDAPMessageQueue * modify(const std::string &dn, const LDAPModList *modlist, const LDAPConstraints *cons=0)
Apply modifications to attributes of an entry.
Definition: LDAPAsynConnection.cpp:199
bool m_cacheEnabled
Is caching enabled?
Definition: LDAPAsynConnection.h:334
void init(const std::string &hostname, int port)
Initializes a connection to a server.
Definition: LDAPAsynConnection.cpp:48
LDAPMessageQueue * compare(const std::string &dn, const LDAPAttribute &attr, const LDAPConstraints *cons=0)
Perform the COMPARE-operation on an attribute.
Definition: LDAPAsynConnection.cpp:170
const_iterator begin() const
Definition: LDAPUrlList.cpp:46
#define DEBUG(level, arg)
Definition: debug.h:30
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27
static const int SEARCH_ONE
Constant for the Search-Operation to indicate a One-Level Search.
Definition: LDAPAsynConnection.h:57
int getPort() const
Definition: LDAPAsynConnection.cpp:302
Definition: LDAPAddRequest.h:15
LDAP * getSessionHandle() const
Definition: LDAPAsynConnection.cpp:292
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPCompareRequest.cpp:44
Definition: LDAPModDNRequest.h:12
LDAPMessageQueue * saslInteractiveBind(const std::string &mech, int flags=0, SaslInteractionHandler *sih=0, const LDAPConstraints *cons=0)
Definition: LDAPAsynConnection.cpp:117
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPBindRequest.cpp:44
This class is used to store every kind of LDAP Entry.
Definition: LDAPEntry.h:19
LDAPMessageQueue * extOperation(const std::string &oid, const std::string &value="", const LDAPConstraints *cons=0)
Perform a LDAP extended Operation.
Definition: LDAPAsynConnection.cpp:233
void initialize(const std::string &uri)
Initializes a connection to a server.
Definition: LDAPAsynConnection.cpp:68
Definition: LDAPDeleteRequest.h:13
This class is created for the asynchronous LDAP-operations.
Definition: LDAPMessageQueue.h:27
const_iterator end() const
Definition: LDAPUrlList.cpp:50
This class represent Authenication information for the case that the library is chasing referrals.
Definition: LDAPRebindAuth.h:21
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPDeleteRequest.cpp:41
#define LDAP_DEBUG_CONSTRUCT
Definition: debug.h:13
Definition: LDAPModifyRequest.h:14
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPModifyRequest.cpp:45
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPExtRequest.cpp:41
This container class is used to store multiple LDAPUrl-objects.
Definition: LDAPUrlList.h:16
const LDAPConstraints * getConstraints() const
Get the default constraints of the connection.
Definition: LDAPAsynConnection.cpp:283
Definition: LDAPBindRequest.h:30
const std::string & getDN() const
Definition: LDAPRebindAuth.cpp:32
const LDAPRebind * getReferralRebind() const
Definition: LDAPConstraints.cpp:124
Represents the name an value(s) of an Attribute.
Definition: LDAPAttribute.h:21
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPAddRequest.cpp:43
void start_tls()
Start TLS on this connection.
Definition: LDAPAsynConnection.cpp:79
virtual LDAPRebindAuth * getRebindAuth(const std::string &hostname, int port) const =0
TlsOptions getTlsOptions() const
Definition: LDAPAsynConnection.cpp:288
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPModDNRequest.cpp:50
Just an abstract class to provide a mechnism for rebind to another server when chasing referrals.
Definition: LDAPRebind.h:20
LDAPRequestStack * getRequestStack()
For internal use only.
Definition: LDAPMessageQueue.cpp:167
const std::string & getPassword() const
Definition: LDAPRebindAuth.cpp:37
static void freeLDAPControlArray(LDAPControl **ctrl)
Definition: LDAPControlSet.cpp:76
LDAPMessageQueue * saslBind(const std::string &mech, const std::string &cred, const LDAPConstraints *cons=0)
Definition: LDAPAsynConnection.cpp:101
Definition: LDAPSearchRequest.h:17
static const int SEARCH_SUB
Constant for the Search-Operation to indicate a subtree Search.
Definition: LDAPAsynConnection.h:63
Class to access the global (and connection specific) TLS Settings To access the global TLS Settings j...
Definition: TlsOptions.h:21
static const int SEARCH_BASE
Constant for the Search-Operation to indicate a Base-Level Search.
Definition: LDAPAsynConnection.h:51
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPSearchRequest.cpp:60
LDAPMessageQueue * add(const LDAPEntry *le, const LDAPConstraints *const=0)
Add an entry to the directory.
Definition: LDAPAsynConnection.cpp:185
Container class to store multiple string-objects.
Definition: StringList.h:15
ListType::const_iterator const_iterator
Definition: LDAPUrlList.h:20
This container class is used to store multiple LDAPModification-objects.
Definition: LDAPModList.h:18
For internal use only.
Definition: LDAPRequest.h:25
LDAPMessageQueue * bind(const std::string &dn="", const std::string &passwd="", const LDAPConstraints *cons=0)
Simple authentication to a LDAP-Server.
Definition: LDAPAsynConnection.cpp:86
Definition: LDAPBindRequest.h:14
LDAPAsynConnection * referralConnect(const LDAPUrlList &urls, LDAPUrlList::const_iterator &usedUrl, const LDAPConstraints *cons) const
This method is used internally for automatic referral chasing.
Definition: LDAPAsynConnection.cpp:307
Definition: SaslInteractionHandler.h:13
virtual LDAPMessageQueue * sendRequest()
This method encodes the request an calls the apprpriate functions of the C-API to send the Request to...
Definition: LDAPBindRequest.cpp:86
void setConstraints(LDAPConstraints *cons)
Change the default constraints of the connection.
Definition: LDAPAsynConnection.cpp:278
int getMsgID() const
Definition: LDAPRequest.cpp:96
virtual ~LDAPAsynConnection()
Definition: LDAPAsynConnection.cpp:46
void unbind()
Performs the UNBIND-operation on the destination server.
Definition: LDAPAsynConnection.cpp:263