Back to index

openldap  2.4.31
LDAPConnection.h
Go to the documentation of this file.
00001 // $OpenLDAP$
00002 /*
00003  * Copyright 2000-2012 The OpenLDAP Foundation, All Rights Reserved.
00004  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
00005  */
00006 
00007 #ifndef LDAP_CONNECTION_H
00008 #define LDAP_CONNECTION_H
00009 
00010 #include <LDAPSearchResults.h>
00011 #include <LDAPExtResult.h>
00012 #include <LDAPAsynConnection.h> 
00013 
00021 class LDAPConnection : private LDAPAsynConnection {
00022 
00023     public :
00028         static const int SEARCH_BASE;
00029 
00034         static const int SEARCH_ONE;
00035         
00040         static const int SEARCH_SUB;
00041         
00051         LDAPConnection(const std::string& hostname="localhost", int port=389,
00052                 LDAPConstraints* cons=new LDAPConstraints());
00053         
00057         ~LDAPConnection();
00058         
00070         void init(const std::string& hostname, int port);
00071         
00079         void start_tls();
00080 
00090         void bind(const std::string& dn="", const std::string& passwd="",
00091                 LDAPConstraints* cons=0);
00092         void saslInteractiveBind(const std::string& mech,
00093                 int flags=0,
00094                 SaslInteractionHandler *sih=0,
00095                 const LDAPConstraints *cons=0);
00096         
00102         void unbind();
00103         
00121         bool compare(const std::string& dn, const LDAPAttribute& attr,
00122                 LDAPConstraints* cons=0);
00123        
00135         void del(const std::string& dn, const LDAPConstraints* cons=0);
00136         
00147         void add(const LDAPEntry* le, const LDAPConstraints* cons=0);
00148         
00160         void modify(const std::string& dn, const LDAPModList* mods, 
00161                 const LDAPConstraints* cons=0); 
00162 
00183         void rename(const std::string& dn, const std::string& newRDN, 
00184                 bool delOldRDN=false, const std::string& newParentDN="",
00185                 const LDAPConstraints* cons=0);
00186         
00208         LDAPSearchResults* search(const std::string& base, int scope=0, 
00209                 const std::string& filter="objectClass=*", 
00210                 const StringList& attrs=StringList(), bool attrsOnly=false,
00211                 const LDAPConstraints* cons=0);
00212        
00228         LDAPExtResult* extOperation(const std::string& oid, const std::string&
00229                 value="", const LDAPConstraints *const = 0);
00230         
00231         const std::string& getHost() const;
00232 
00233         int getPort() const;
00234         
00235         void setConstraints(LDAPConstraints *cons);
00236         
00237         const LDAPConstraints* getConstraints() const ;
00238         TlsOptions getTlsOptions() const;
00239 };
00240 
00241 #endif //LDAP_CONNECTION_H