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,
52  LDAPConstraints* cons=new LDAPConstraints());
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 
235  void setConstraints(LDAPConstraints *cons);
236 
237  const LDAPConstraints* getConstraints() const ;
238  TlsOptions getTlsOptions() const;
239 };
240 
241 #endif //LDAP_CONNECTION_H
LDAPAsynConnection::search
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
LDAPException
This class is only thrown as an Exception and used to signalize error conditions during LDAP-operatio...
Definition: LDAPException.h:23
LDAPConnection::~LDAPConnection
~LDAPConnection()
Destructor.
Definition: LDAPConnection.cpp:25
LDAPAsynConnection::del
LDAPMessageQueue * del(const std::string &dn, const LDAPConstraints *cons=0)
Delete an entry from the directory.
Definition: LDAPAsynConnection.cpp:156
LDAPAsynConnection
This class represents an asynchronous connection to an LDAP-Server.
Definition: LDAPAsynConnection.h:45
LDAPConnection::SEARCH_ONE
static const int SEARCH_ONE
Constant for the Search-Operation to indicate a One-Level Search.
Definition: LDAPConnection.h:34
LDAP_DEBUG_TRACE
#define LDAP_DEBUG_TRACE
Definition: debug.h:12
LDAPAsynConnection::rename
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
LDAPAsynConnection::getHost
const std::string & getHost() const
Definition: LDAPAsynConnection.cpp:297
LDAPExtResult
Object of this class are created by the LDAPMsg::create method if results for an Extended Operation w...
Definition: LDAPExtResult.h:20
LDAPSearchResults::readMessageQueue
LDAPResult * readMessageQueue(LDAPMessageQueue *msg)
For internal use only.
Definition: LDAPSearchResults.cpp:19
LDAPConnection::getConstraints
const LDAPConstraints * getConstraints() const
Definition: LDAPConnection.cpp:376
LDAPResult::COMPARE_FALSE
static const int COMPARE_FALSE
Definition: LDAPResult.h:38
LDAPResult::getErrMsg
const std::string & getErrMsg() const
In some case of error the server may return addional error messages.
Definition: LDAPResult.cpp:76
LDAPConnection::setConstraints
void setConstraints(LDAPConstraints *cons)
Definition: LDAPConnection.cpp:372
LDAPConnection::getPort
int getPort() const
Definition: LDAPConnection.cpp:368
LDAPConnection::bind
void bind(const std::string &dn="", const std::string &passwd="", LDAPConstraints *cons=0)
Performs a simple authentication with the server.
Definition: LDAPConnection.cpp:32
LDAPAsynConnection::modify
LDAPMessageQueue * modify(const std::string &dn, const LDAPModList *modlist, const LDAPConstraints *cons=0)
Apply modifications to attributes of an entry.
Definition: LDAPAsynConnection.cpp:199
LDAPConnection::init
void init(const std::string &hostname, int port)
Initzializes a synchronous connection to a server.
LDAPConnection::LDAPConnection
LDAPConnection(const std::string &hostname="localhost", int port=389, LDAPConstraints *cons=new LDAPConstraints())
This Constructor initializes synchronous LDAP-Connection.
Definition: LDAPConnection.cpp:20
LDAPAsynConnection::compare
LDAPMessageQueue * compare(const std::string &dn, const LDAPAttribute &attr, const LDAPConstraints *cons=0)
Perform the COMPARE-operation on an attribute.
Definition: LDAPAsynConnection.cpp:170
DEBUG
#define DEBUG(level, arg)
Definition: debug.h:30
LDAPAsynConnection.h
LDAPConstraints
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27
LDAPAsynConnection::SEARCH_ONE
static const int SEARCH_ONE
Constant for the Search-Operation to indicate a One-Level Search.
Definition: LDAPAsynConnection.h:57
LDAPAsynConnection::getPort
int getPort() const
Definition: LDAPAsynConnection.cpp:302
LDAPConnection::getHost
const std::string & getHost() const
Definition: LDAPConnection.cpp:364
LDAPAsynConnection::saslInteractiveBind
LDAPMessageQueue * saslInteractiveBind(const std::string &mech, int flags=0, SaslInteractionHandler *sih=0, const LDAPConstraints *cons=0)
Definition: LDAPAsynConnection.cpp:117
LDAPConnection::extOperation
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::getTlsOptions
TlsOptions getTlsOptions() const
Definition: LDAPConnection.cpp:380
LDAPEntry
This class is used to store every kind of LDAP Entry.
Definition: LDAPEntry.h:19
LDAPAsynConnection::extOperation
LDAPMessageQueue * extOperation(const std::string &oid, const std::string &value="", const LDAPConstraints *cons=0)
Perform a LDAP extended Operation.
Definition: LDAPAsynConnection.cpp:233
LDAPResult
This class is for representing LDAP-Result-Messages.
Definition: LDAPResult.h:30
LDAPMessageQueue
This class is created for the asynchronous LDAP-operations.
Definition: LDAPMessageQueue.h:27
LDAPResult::REFERRAL
static const int REFERRAL
Definition: LDAPResult.h:43
LDAPResult::SUCCESS
static const int SUCCESS
Definition: LDAPResult.h:33
LDAPSearchResults.h
LDAPUrlList
This container class is used to store multiple LDAPUrl-objects.
Definition: LDAPUrlList.h:16
LDAPConnection::rename
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
LDAPConnection::search
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
LDAPAsynConnection::getConstraints
const LDAPConstraints * getConstraints() const
Get the default constraints of the connection.
Definition: LDAPAsynConnection.cpp:283
LDAPAttribute
Represents the name an value(s) of an Attribute.
Definition: LDAPAttribute.h:21
LDAPException.h
LDAPConnection::add
void add(const LDAPEntry *le, const LDAPConstraints *cons=0)
Use this method to perform the ADD-operation.
Definition: LDAPConnection.cpp:177
LDAPResult::getReferralUrls
const LDAPUrlList & getReferralUrls() const
Definition: LDAPResult.cpp:86
LDAPSearchResults
The class stores the results of a synchronous SEARCH-Operation.
Definition: LDAPSearchResults.h:22
LDAPConnection::SEARCH_SUB
static const int SEARCH_SUB
Constant for the Search-Operation to indicate a Subtree Search.
Definition: LDAPConnection.h:40
LDAPAsynConnection::start_tls
void start_tls()
Start TLS on this connection.
Definition: LDAPAsynConnection.cpp:79
LDAPExtResult.h
LDAPAsynConnection::getTlsOptions
TlsOptions getTlsOptions() const
Definition: LDAPAsynConnection.cpp:288
LDAPResult::COMPARE_TRUE
static const int COMPARE_TRUE
Definition: LDAPResult.h:39
LDAPConnection::compare
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
LDAPConnection::modify
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
LDAPUrlList.h
LDAPAsynConnection::SEARCH_SUB
static const int SEARCH_SUB
Constant for the Search-Operation to indicate a subtree Search.
Definition: LDAPAsynConnection.h:63
LDAPConnection::saslInteractiveBind
void saslInteractiveBind(const std::string &mech, int flags=0, SaslInteractionHandler *sih=0, const LDAPConstraints *cons=0)
Definition: LDAPConnection.cpp:63
LDAPReferralException
This class extends LDAPException and is used to signalize Referrals there were received during synchr...
Definition: LDAPException.h:84
TlsOptions
Class to access the global (and connection specific) TLS Settings To access the global TLS Settings j...
Definition: TlsOptions.h:21
LDAPAsynConnection::SEARCH_BASE
static const int SEARCH_BASE
Constant for the Search-Operation to indicate a Base-Level Search.
Definition: LDAPAsynConnection.h:51
LDAPConnection
Main class for synchronous LDAP-Communication.
Definition: LDAPConnection.h:21
LDAPConnection::start_tls
void start_tls()
Start TLS on this connection.
Definition: LDAPConnection.cpp:28
LDAPAsynConnection::add
LDAPMessageQueue * add(const LDAPEntry *le, const LDAPConstraints *const=0)
Add an entry to the directory.
Definition: LDAPAsynConnection.cpp:185
LDAPConnection::del
void del(const std::string &dn, const LDAPConstraints *cons=0)
Deletes an entry from the directory.
Definition: LDAPConnection.cpp:142
LDAPResult::getResultCode
int getResultCode() const
Definition: LDAPResult.cpp:66
StringList
Container class to store multiple string-objects.
Definition: StringList.h:15
LDAPConnection::SEARCH_BASE
static const int SEARCH_BASE
Constant for the Search-Operation to indicate a Base-Level Search.
Definition: LDAPConnection.h:28
LDAPResult.h
LDAPModList
This container class is used to store multiple LDAPModification-objects.
Definition: LDAPModList.h:18
LDAPConnection.h
LDAPAsynConnection::bind
LDAPMessageQueue * bind(const std::string &dn="", const std::string &passwd="", const LDAPConstraints *cons=0)
Simple authentication to a LDAP-Server.
Definition: LDAPAsynConnection.cpp:86
LDAPConnection::unbind
void unbind()
Performs the UNBIND-operation on the destination server.
Definition: LDAPConnection.cpp:97
LDAPMessageQueue::getNext
LDAPMsg * getNext()
This method reads exactly one Message from the results of a Request.
Definition: LDAPMessageQueue.cpp:40
SaslInteractionHandler
Definition: SaslInteractionHandler.h:13
LDAPAsynConnection::setConstraints
void setConstraints(LDAPConstraints *cons)
Change the default constraints of the connection.
Definition: LDAPAsynConnection.cpp:278
debug.h
LDAPAsynConnection::unbind
void unbind()
Performs the UNBIND-operation on the destination server.
Definition: LDAPAsynConnection.cpp:263