ldapsdk 0.0.1
LDAPConnection.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#ifndef LDAP_CONNECTION_H
8#define LDAP_CONNECTION_H
9
10#include <LDAPSearchResults.h>
11#include <LDAPExtResult.h>
12#include <LDAPAsynConnection.h>
13
22
23 public :
28 static const int SEARCH_BASE;
29
34 static const int SEARCH_ONE;
35
40 static const int SEARCH_SUB;
41
51 LDAPConnection(const std::string& hostname="localhost", int port=389,
53
58
70 void init(const std::string& hostname, int port);
71
79 void start_tls();
80
90 void bind(const std::string& dn="", const std::string& passwd="",
91 LDAPConstraints* cons=0);
92 void saslInteractiveBind(const std::string& mech,
93 int flags=0,
95 const LDAPConstraints *cons=0);
96
102 void unbind();
103
121 bool compare(const std::string& dn, const LDAPAttribute& attr,
122 LDAPConstraints* cons=0);
123
135 void del(const std::string& dn, const LDAPConstraints* cons=0);
136
147 void add(const LDAPEntry* le, const LDAPConstraints* cons=0);
148
160 void modify(const std::string& dn, const LDAPModList* mods,
161 const LDAPConstraints* cons=0);
162
183 void rename(const std::string& dn, const std::string& newRDN,
184 bool delOldRDN=false, const std::string& newParentDN="",
185 const LDAPConstraints* cons=0);
186
208 LDAPSearchResults* search(const std::string& base, int scope=0,
209 const std::string& filter="objectClass=*",
210 const StringList& attrs=StringList(), bool attrsOnly=false,
211 const LDAPConstraints* cons=0);
212
228 LDAPExtResult* extOperation(const std::string& oid, const std::string&
229 value="", const LDAPConstraints *const = 0);
230
231 const std::string& getHost() const;
232
233 int getPort() const;
234
236
237 const LDAPConstraints* getConstraints() const ;
239};
240
241#endif //LDAP_CONNECTION_H
This class represents an asynchronous connection to an LDAP-Server.
Definition: LDAPAsynConnection.h:45
Represents the name an value(s) of an Attribute.
Definition: LDAPAttribute.h:21
Main class for synchronous LDAP-Communication.
Definition: LDAPConnection.h:21
LDAPExtResult * extOperation(const std::string &oid, const std::string &value="", const LDAPConstraints *const =0)
This method is for extended LDAP-Operations.
Definition: LDAPConnection.cpp:330
LDAPConnection(const std::string &hostname="localhost", int port=389, LDAPConstraints *cons=new LDAPConstraints())
This Constructor initializes synchronous LDAP-Connection.
Definition: LDAPConnection.cpp:20
const std::string & getHost() const
Definition: LDAPConnection.cpp:364
bool compare(const std::string &dn, const LDAPAttribute &attr, LDAPConstraints *cons=0)
Performs a COMPARE-operation on an entery of the destination server.
Definition: LDAPConnection.cpp:101
void bind(const std::string &dn="", const std::string &passwd="", LDAPConstraints *cons=0)
Performs a simple authentication with the server.
Definition: LDAPConnection.cpp:32
void unbind()
Performs the UNBIND-operation on the destination server.
Definition: LDAPConnection.cpp:97
LDAPSearchResults * search(const std::string &base, int scope=0, const std::string &filter="objectClass=*", const StringList &attrs=StringList(), bool attrsOnly=false, const LDAPConstraints *cons=0)
This method can be used for the sync.
Definition: LDAPConnection.cpp:284
void init(const std::string &hostname, int port)
Initzializes a synchronous connection to a server.
const LDAPConstraints * getConstraints() const
Definition: LDAPConnection.cpp:376
~LDAPConnection()
Destructor.
Definition: LDAPConnection.cpp:25
int getPort() const
Definition: LDAPConnection.cpp:368
void add(const LDAPEntry *le, const LDAPConstraints *cons=0)
Use this method to perform the ADD-operation.
Definition: LDAPConnection.cpp:177
static const int SEARCH_SUB
Constant for the Search-Operation to indicate a Subtree Search.
Definition: LDAPConnection.h:40
static const int SEARCH_ONE
Constant for the Search-Operation to indicate a One-Level Search.
Definition: LDAPConnection.h:34
static const int SEARCH_BASE
Constant for the Search-Operation to indicate a Base-Level Search.
Definition: LDAPConnection.h:28
void start_tls()
Start TLS on this connection.
Definition: LDAPConnection.cpp:28
void rename(const std::string &dn, const std::string &newRDN, bool delOldRDN=false, const std::string &newParentDN="", const LDAPConstraints *cons=0)
This method performs the ModDN-operation.
Definition: LDAPConnection.cpp:247
TlsOptions getTlsOptions() const
Definition: LDAPConnection.cpp:380
void saslInteractiveBind(const std::string &mech, int flags=0, SaslInteractionHandler *sih=0, const LDAPConstraints *cons=0)
Definition: LDAPConnection.cpp:63
void modify(const std::string &dn, const LDAPModList *mods, const LDAPConstraints *cons=0)
To modify the attributes of an entry, this method can be used.
Definition: LDAPConnection.cpp:211
void setConstraints(LDAPConstraints *cons)
Definition: LDAPConnection.cpp:372
void del(const std::string &dn, const LDAPConstraints *cons=0)
Deletes an entry from the directory.
Definition: LDAPConnection.cpp:142
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27
This class is used to store every kind of LDAP Entry.
Definition: LDAPEntry.h:19
Object of this class are created by the LDAPMsg::create method if results for an Extended Operation w...
Definition: LDAPExtResult.h:20
This container class is used to store multiple LDAPModification-objects.
Definition: LDAPModList.h:18
The class stores the results of a synchronous SEARCH-Operation.
Definition: LDAPSearchResults.h:22
Definition: SaslInteractionHandler.h:13
Container class to store multiple string-objects.
Definition: StringList.h:15
Class to access the global (and connection specific) TLS Settings To access the global TLS Settings j...
Definition: TlsOptions.h:21