Back to index

openldap  2.4.31
Public Member Functions | Static Public Attributes | Protected Attributes | Private Member Functions | Private Attributes
LDAPAsynConnection Class Reference

This class represents an asynchronous connection to an LDAP-Server. More...

#include <LDAPAsynConnection.h>

Inheritance diagram for LDAPAsynConnection:
Inheritance graph
[legend]
Collaboration diagram for LDAPAsynConnection:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LDAPAsynConnection (const std::string &url=std::string("localhost"), int port=0, LDAPConstraints *cons=new LDAPConstraints())
 Construtor that initializes a connection to a server.
virtual ~LDAPAsynConnection ()
void init (const std::string &hostname, int port)
 Initializes a connection to a server.
void initialize (const std::string &uri)
 Initializes a connection to a server.
void start_tls ()
 Start TLS on this connection.
LDAPMessageQueuebind (const std::string &dn="", const std::string &passwd="", const LDAPConstraints *cons=0)
 Simple authentication to a LDAP-Server.
LDAPMessageQueuesaslBind (const std::string &mech, const std::string &cred, const LDAPConstraints *cons=0)
LDAPMessageQueuesaslInteractiveBind (const std::string &mech, int flags=0, SaslInteractionHandler *sih=0, const LDAPConstraints *cons=0)
LDAPMessageQueuesearch (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.
LDAPMessageQueuedel (const std::string &dn, const LDAPConstraints *cons=0)
 Delete an entry from the directory.
LDAPMessageQueuecompare (const std::string &dn, const LDAPAttribute &attr, const LDAPConstraints *cons=0)
 Perform the COMPARE-operation on an attribute.
LDAPMessageQueueadd (const LDAPEntry *le, const LDAPConstraints *const =0)
 Add an entry to the directory.
LDAPMessageQueuemodify (const std::string &dn, const LDAPModList *modlist, const LDAPConstraints *cons=0)
 Apply modifications to attributes of an entry.
LDAPMessageQueuerename (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
LDAPMessageQueueextOperation (const std::string &oid, const std::string &value="", const LDAPConstraints *cons=0)
 Perform a LDAP extended Operation.
void abandon (LDAPMessageQueue *q)
 End an outstanding request.
void unbind ()
 Performs the UNBIND-operation on the destination server.
LDAP * getSessionHandle () const
const std::string & getHost () const
int getPort () const
void setConstraints (LDAPConstraints *cons)
 Change the default constraints of the connection.
const LDAPConstraintsgetConstraints () const
 Get the default constraints of the connection.
TlsOptions getTlsOptions () const
LDAPAsynConnectionreferralConnect (const LDAPUrlList &urls, LDAPUrlList::const_iterator &usedUrl, const LDAPConstraints *cons) const
 This method is used internally for automatic referral chasing.

Static Public Attributes

static const int SEARCH_BASE = 0
 Constant for the Search-Operation to indicate a Base-Level Search.
static const int SEARCH_ONE = 1
 Constant for the Search-Operation to indicate a One-Level Search.
static const int SEARCH_SUB = 2
 Constant for the Search-Operation to indicate a subtree Search.

Protected Attributes

bool m_cacheEnabled
 Is caching enabled?

Private Member Functions

 LDAPAsynConnection (const LDAPAsynConnection &lc)
 Private copy constructor.

Private Attributes

LDAP * cur_session
 A pointer to the C-API LDAP-structure that is associated with this connection.
LDAPConstraintsm_constr
 A pointer to the default LDAPConstrains-object that is used when no LDAPConstraints-parameter is provided with a call for a LDAP-operation.
LDAPUrl m_uri
 The URI of this connection.

Detailed Description

This class represents an asynchronous connection to an LDAP-Server.

It provides the methods for authentication, and all other LDAP-Operations (e.g. search, add, delete, etc.) All of the LDAP-Operations return a pointer to a LDAPMessageQueue-Object, which can be used to obtain the results of that operation. A basic example of this class could be like this:

  1. Create a new LDAPAsynConnection Object:
  2. Use the init-method to initialize the connection
  3. Call the bind-method to authenticate to the directory
  4. Obtain the bind results from the return LDAPMessageQueue-Object
  5. Perform on of the operations on the directory (add, delete, search, ..)
  6. Use the return LDAPMessageQueue to obtain the results of the operation
  7. Close the connection (feature not implemented yet :) )

Definition at line 45 of file LDAPAsynConnection.h.


Constructor & Destructor Documentation

LDAPAsynConnection::LDAPAsynConnection ( const std::string &  url = std::string("localhost"),
int  port = 0,
LDAPConstraints cons = new LDAPConstraints() 
)

Construtor that initializes a connection to a server.

Parameters:
hostnameName (or IP-Adress) of the destination host
portPort the LDAP server is running on
consDefault constraints to use with operations over this connection

Definition at line 29 of file LDAPAsynConnection.cpp.

                                                      {
    DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPAsynConnection::LDAPAsynConnection()"
            << endl);
    DEBUG(LDAP_DEBUG_CONSTRUCT | LDAP_DEBUG_PARAMETER,
            "   URL:" << url << endl << "   port:" << port << endl);
    cur_session=0;
    m_constr = 0;
    // Is this an LDAP URI?
    if ( url.find("://") == std::string::npos ) {
       this->init(url, port);
    } else {
       this->initialize(url);
    }
    this->setConstraints(cons);
}

Definition at line 46 of file LDAPAsynConnection.cpp.

{}

Private copy constructor.

So nobody can call it.

Definition at line 310 of file LDAPAsynConnection.h.

{};

Member Function Documentation

End an outstanding request.

Parameters:
qAll outstanding request related to this LDAPMessageQueue will be abandoned

Definition at line 248 of file LDAPAsynConnection.cpp.

                                                   {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::abandon()" << endl);
    LDAPRequestStack *reqStack=q->getRequestStack();
    LDAPRequest *req;
    while(! reqStack->empty()){
        req=reqStack->top();
        if (ldap_abandon_ext(cur_session, req->getMsgID(), 0, 0) 
                != LDAP_SUCCESS){
            throw LDAPException(this);
        }
        delete req;
        reqStack->pop();
    }
}

Here is the call graph for this function:

Add an entry to the directory.

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
leThe entry that will be added to the directory

Reimplemented in LDAPConnection.

Definition at line 185 of file LDAPAsynConnection.cpp.

                                    {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::add()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   entry:" << *le << endl);
    LDAPAddRequest *req = new LDAPAddRequest(le, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::bind ( const std::string &  dn = "",
const std::string &  passwd = "",
const LDAPConstraints cons = 0 
)

Simple authentication to a LDAP-Server.

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured. This method does a simple (username, password) bind to the server. Other, saver, authentcation methods are provided later
Parameters:
dnthe distiguished name to bind as
passwdcleartext password to use

Definition at line 86 of file LDAPAsynConnection.cpp.

                                                          {
    DEBUG(LDAP_DEBUG_TRACE, "LDAPAsynConnection::bind()" <<  endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER, "   dn:" << dn << endl
               << "   passwd:" << passwd << endl);
    LDAPBindRequest *req = new LDAPBindRequest(dn,passwd,this,cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::compare ( const std::string &  dn,
const LDAPAttribute attr,
const LDAPConstraints cons = 0 
)

Perform the COMPARE-operation on an attribute.

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
dnDistinguished name of the entry for which the compare should be performed
attrAn Attribute (one (!) value) to use for the compare operation
consA set of constraints that should be used with this request

Definition at line 170 of file LDAPAsynConnection.cpp.

                                                               {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::compare()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   dn:" << dn << endl
            << "   attr:" << attr << endl);
    LDAPCompareRequest *req = new LDAPCompareRequest(dn, attr, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::del ( const std::string &  dn,
const LDAPConstraints cons = 0 
)

Delete an entry from the directory.

This method sends a delete request to the server

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
dnDistinguished name of the entry that should be deleted
consA set of constraints that should be used with this request

Reimplemented in LDAPConnection.

Definition at line 156 of file LDAPAsynConnection.cpp.

                                    {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::del()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   dn:" << dn << endl);
    LDAPDeleteRequest *req = new LDAPDeleteRequest(dn, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::extOperation ( const std::string &  oid,
const std::string &  value = "",
const LDAPConstraints cons = 0 
)

Perform a LDAP extended Operation.

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
oidThe dotted decimal representation of the extended Operation that should be performed
valueThe data asociated with this operation
consA set of constraints that should be used with this request

Reimplemented in LDAPConnection.

Definition at line 233 of file LDAPAsynConnection.cpp.

                                                          {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::extOperation()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   oid:" << oid << endl);
    LDAPExtRequest *req = new  LDAPExtRequest(oid, value, this,cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

Get the default constraints of the connection.

Returns:
Pointer to the LDAPConstraints-Object that is currently used with the Connection

Reimplemented in LDAPConnection.

Definition at line 283 of file LDAPAsynConnection.cpp.

                                                                {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::getConstraints()" << endl);
    return m_constr;
}

Here is the caller graph for this function:

const string & LDAPAsynConnection::getHost ( ) const
Returns:
The Hostname of the destination server of the connection.

Reimplemented in LDAPConnection.

Definition at line 297 of file LDAPAsynConnection.cpp.

                                               {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::setHost()" << endl);
    return m_uri.getHost();
}

Here is the caller graph for this function:

Returns:
The Port to which this connection is connecting to on the remote server.

Reimplemented in LDAPConnection.

Definition at line 302 of file LDAPAsynConnection.cpp.

                                     {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::getPort()" << endl);
    return m_uri.getPort();
}

Here is the caller graph for this function:

Returns:
The C-APIs LDAP-structure that is associated with the current connection

Definition at line 292 of file LDAPAsynConnection.cpp.

                                                { 
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::getSessionHandle()" << endl);
    return cur_session;
}

Here is the caller graph for this function:

Reimplemented in LDAPConnection.

Definition at line 288 of file LDAPAsynConnection.cpp.

                                                   {
    return TlsOptions( cur_session );
}

Here is the caller graph for this function:

void LDAPAsynConnection::init ( const std::string &  hostname,
int  port 
)

Initializes a connection to a server.

There actually no communication to the server. Just the object is initialized (e.g. this method is called within the LDAPAsynConnection(char*,int,LDAPConstraints) constructor.)

Parameters:
hostnameThe Name or IP-Address of the destination LDAP-Server
portThe Network Port the server is running on

Reimplemented in LDAPConnection.

Definition at line 48 of file LDAPAsynConnection.cpp.

                                                             {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::init" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,
            "   hostname:" << hostname << endl
            << "   port:" << port << endl);

    m_uri.setScheme("ldap");
    m_uri.setHost(hostname);
    m_uri.setPort(port);
    
    const char *ldapuri = m_uri.getURLString().c_str();
    int ret = ldap_initialize(&cur_session, ldapuri);
    if ( ret != LDAP_SUCCESS ) {
        throw LDAPException( ret );
    }
    int opt=3;
    ldap_set_option(cur_session, LDAP_OPT_REFERRALS, LDAP_OPT_OFF);
    ldap_set_option(cur_session, LDAP_OPT_PROTOCOL_VERSION, &opt);
}

Here is the call graph for this function:

void LDAPAsynConnection::initialize ( const std::string &  uri)

Initializes a connection to a server.

There actually no communication to the server. Just the object is initialized

Parameters:
uriThe LDAP-Uri for the destination

Definition at line 68 of file LDAPAsynConnection.cpp.

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::modify ( const std::string &  dn,
const LDAPModList modlist,
const LDAPConstraints cons = 0 
)

Apply modifications to attributes of an entry.

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
dnDistiguished Name of the Entry to modify
modlistA set of modification that should be applied to the Entry
consA set of constraints that should be used with this request

Reimplemented in LDAPConnection.

Definition at line 199 of file LDAPAsynConnection.cpp.

                                                            {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::modify()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   dn:" << dn << endl);
    LDAPModifyRequest *req = new LDAPModifyRequest(dn, mod, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

This method is used internally for automatic referral chasing.

It tries to bind to a destination server of the URLs of a referral.

Exceptions:
LDAPExceptionin any case of an error
Parameters:
urlsContains a std::list of LDAP-Urls that indicate the destinations of a referral
usedUrlAfter this method has successfully bind to one of the Destination URLs this parameter contains the URLs which was contacted.
consAn LDAPConstraints-Object that should be used for the new connection. If this object contains a LDAPRebind-object it is used to bind to the new server

Definition at line 307 of file LDAPAsynConnection.cpp.

                                           {
    DEBUG(LDAP_DEBUG_TRACE, "LDAPAsynConnection::referralConnect()" << endl)
    LDAPUrlList::const_iterator conUrl;
    LDAPAsynConnection* tmpConn=0;
    const LDAPRebind* rebind = cons->getReferralRebind();
    LDAPRebindAuth* auth = 0;

    for(conUrl=urls.begin(); conUrl!=urls.end(); conUrl++){
        string host= conUrl->getHost();
        int port= conUrl->getPort();
        DEBUG(LDAP_DEBUG_TRACE,"   connecting to: " << host << ":" <<
                port << endl);
        //Set the new connection's constraints-object ?
        tmpConn=new LDAPAsynConnection(host.c_str(),port);
        int err=0;

        if(rebind){ 
            auth=rebind->getRebindAuth(host, port);
        }
        if(auth){
            string dn = auth->getDN();
            string passwd = auth->getPassword();
            const char* c_dn=0;
            struct berval c_passwd = { 0, 0 };
            if(dn != ""){
                c_dn = dn.c_str();
            }
            if(passwd != ""){
                c_passwd.bv_val = const_cast<char*>(passwd.c_str());
                c_passwd.bv_len = passwd.size();
            }
            err = ldap_sasl_bind_s(tmpConn->getSessionHandle(), c_dn,
                    LDAP_SASL_SIMPLE, &c_passwd, NULL, NULL, NULL);
        } else {   
            // Do anonymous bind
            err = ldap_sasl_bind_s(tmpConn->getSessionHandle(),NULL,
                    LDAP_SASL_SIMPLE, NULL, NULL, NULL, NULL);
        }
        if( err == LDAP_SUCCESS ){
            usedUrl=conUrl;
            return tmpConn;
        }else{
            delete tmpConn;
            tmpConn=0;
        }
        auth=0;
    }
    return 0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

LDAPMessageQueue * LDAPAsynConnection::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

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
dnDN to modify
newRDNThe new relative DN for the entry
delOldRDNtrue=The old RDN will be removed from the attributes
false=The old RDN will still be present in the attributes of the entry
newParentDNThe DN of the new parent entry of the entry 0 to keep the old one

Reimplemented in LDAPConnection.

Definition at line 213 of file LDAPAsynConnection.cpp.

                                     {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::rename()" << endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,"   dn:" << dn << endl
            << "   newRDN:" << newRDN << endl
            << "   newParentDN:" << newParentDN << endl
            << "   delOldRDN:" << delOldRDN << endl);
    LDAPModDNRequest *req = new  LDAPModDNRequest(dn, newRDN, delOldRDN, 
            newParentDN, this, cons );
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::saslBind ( const std::string &  mech,
const std::string &  cred,
const LDAPConstraints cons = 0 
)

Definition at line 101 of file LDAPAsynConnection.cpp.

{
    DEBUG(LDAP_DEBUG_TRACE, "LDAPAsynConnection::saslBind()" <<  endl);
    LDAPSaslBindRequest *req = new LDAPSaslBindRequest(mech, cred, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }

}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::saslInteractiveBind ( const std::string &  mech,
int  flags = 0,
SaslInteractionHandler sih = 0,
const LDAPConstraints cons = 0 
)

Reimplemented in LDAPConnection.

Definition at line 117 of file LDAPAsynConnection.cpp.

{
    DEBUG(LDAP_DEBUG_TRACE, "LDAPAsynConnection::saslInteractiveBind" 
            << std::endl);
    LDAPSaslInteractiveBind *req = 
            new LDAPSaslInteractiveBind(mech, flags, sih, this, cons);
    try {
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    } 
}

Here is the call graph for this function:

LDAPMessageQueue * LDAPAsynConnection::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.

Use the search method to perform a search on the LDAP-Directory

Exceptions:
LDAPExceptionIf the Request could not be sent to the destination server, a LDAPException-object contains the error that occured.
Parameters:
baseThe distinguished name of the starting point for the search operation
scopeThe scope of the search. Possible values:
LDAPAsynConnection::SEARCH_BASE,
LDAPAsynConnection::SEARCH_ONE,
LDAPAsynConnection::SEARCH_SUB
filterThe std::string representation of a search filter to use with this operation
attrsOnlytrue if only the attributes names (no values) should be returned
consA set of constraints that should be used with this request

Reimplemented in LDAPConnection.

Definition at line 136 of file LDAPAsynConnection.cpp.

                                                                     {
    DEBUG(LDAP_DEBUG_TRACE, "LDAPAsynConnection::search()" <<  endl);
    DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER, "   base:" << base << endl
               << "   scope:" << scope << endl
               << "   filter:" << filter << endl );
    LDAPSearchRequest *req = new LDAPSearchRequest(base, scope,filter, attrs, 
            attrsOnly, this, cons);
    try{
        LDAPMessageQueue *ret = req->sendRequest();
        return ret;
    }catch(LDAPException e){
        delete req;
        throw;
    }
}

Here is the call graph for this function:

Change the default constraints of the connection.

cons cons New LDAPConstraints to use with the connection

Reimplemented in LDAPConnection.

Definition at line 278 of file LDAPAsynConnection.cpp.

                                                            {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::setConstraints()" << endl);
    m_constr=cons;
}

Start TLS on this connection.

This isn't in the constructor, because it could fail (i.e. server doesn't have SSL cert, client api wasn't compiled against OpenSSL, etc.).

Exceptions:
LDAPExceptionif the TLS Layer could not be setup correctly

Reimplemented in LDAPConnection.

Definition at line 79 of file LDAPAsynConnection.cpp.

                                  {
    int ret = ldap_start_tls_s( cur_session, NULL, NULL );
    if( ret != LDAP_SUCCESS ) {
        throw LDAPException(this);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

Performs the UNBIND-operation on the destination server.

Exceptions:
LDAPExceptionin any case of an error

Reimplemented in LDAPConnection.

Definition at line 263 of file LDAPAsynConnection.cpp.

                               {
    DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::unbind()" << endl);
    if(cur_session){
        LDAPControl** tmpSrvCtrls=m_constr->getSrvCtrlsArray();
        LDAPControl** tmpClCtrls=m_constr->getClCtrlsArray();
        int err=ldap_unbind_ext(cur_session, tmpSrvCtrls, tmpClCtrls);
        cur_session=0;
        LDAPControlSet::freeLDAPControlArray(tmpSrvCtrls);
        LDAPControlSet::freeLDAPControlArray(tmpClCtrls);
        if(err != LDAP_SUCCESS){
            throw LDAPException(err);
        }
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

A pointer to the C-API LDAP-structure that is associated with this connection.

Definition at line 310 of file LDAPAsynConnection.h.

Is caching enabled?

Definition at line 334 of file LDAPAsynConnection.h.

A pointer to the default LDAPConstrains-object that is used when no LDAPConstraints-parameter is provided with a call for a LDAP-operation.

Definition at line 323 of file LDAPAsynConnection.h.

The URI of this connection.

Definition at line 328 of file LDAPAsynConnection.h.

Constant for the Search-Operation to indicate a Base-Level Search.

Reimplemented in LDAPConnection.

Definition at line 51 of file LDAPAsynConnection.h.

Constant for the Search-Operation to indicate a One-Level Search.

Reimplemented in LDAPConnection.

Definition at line 57 of file LDAPAsynConnection.h.

Constant for the Search-Operation to indicate a subtree Search.

Reimplemented in LDAPConnection.

Definition at line 63 of file LDAPAsynConnection.h.


The documentation for this class was generated from the following files: