PTLib
Version 2.10.4
|
This class will create an LDAP client to access a remote LDAP server. More...
#include <pldap.h>
Classes | |
class | BinaryModAttrib |
class | ModAttrib |
class | SearchContext |
class | StringModAttrib |
Public Types | |
enum | AuthenticationMethod { AuthSimple, AuthSASL, AuthKerberos, NumAuthenticationMethod } |
enum | SearchScope { ScopeBaseOnly, ScopeSingleLevel, ScopeSubTree, NumSearchScope } |
Public Member Functions | |
PLDAPSession (const PString &defaultBaseDN=PString::Empty()) | |
Create a LDAP client. | |
~PLDAPSession () | |
Close the sesison on destruction. | |
PBoolean | Open (const PString &server, WORD port=0) |
Open the LDAP session to the specified server. | |
PBoolean | Close () |
Close the LDAP session. | |
PBoolean | IsOpen () const |
Determine of session is open. | |
PBoolean | SetOption (int optcode, int value) |
Set LDAP option parameter (OpenLDAp specific values) | |
PBoolean | SetOption (int optcode, void *value) |
Set LDAP option parameter (OpenLDAP specific values) | |
PBoolean | Bind (const PString &who=PString::Empty(), const PString &passwd=PString::Empty(), AuthenticationMethod authMethod=AuthSimple) |
Bind to the remote LDAP server. | |
PBoolean | Add (const PString &dn, const PArray< ModAttrib > &attributes) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Add (const PString &dn, const PStringToString &attributes) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Add (const PString &dn, const PStringArray &attributes) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Add (const PString &dn, const PLDAPStructBase &data) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Modify (const PString &dn, const PArray< ModAttrib > &attributes) |
Modify an existing distringuished name to LDAP dirctory. | |
PBoolean | Modify (const PString &dn, const PStringToString &attributes) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Modify (const PString &dn, const PStringArray &attributes) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Modify (const PString &dn, const PLDAPStructBase &data) |
Add a new distringuished name to LDAP dirctory. | |
PBoolean | Delete (const PString &dn) |
Delete the distinguished name from LDAP directory. | |
PBoolean | Search (SearchContext &context, const PString &filter, const PStringArray &attributes=PStringList(), const PString &base=PString::Empty(), SearchScope scope=ScopeSubTree) |
Start search for specified information. | |
PBoolean | GetSearchResult (SearchContext &context, PStringToString &data) |
Get the current search result entry. | |
PBoolean | GetSearchResult (SearchContext &context, const PString &attribute, PString &data) |
Get an attribute of the current search result entry. | |
PBoolean | GetSearchResult (SearchContext &context, const PString &attribute, PStringArray &data) |
Get an attribute of the current search result entry. | |
PBoolean | GetSearchResult (SearchContext &context, const PString &attribute, PArray< PBYTEArray > &data) |
Get an attribute of the current search result entry. | |
PBoolean | GetSearchResult (SearchContext &context, PLDAPStructBase &data) |
Get all attributes of the current search result entry. | |
PString | GetSearchResultDN (SearchContext &context) |
Get the current search result distinguished name entry. | |
PBoolean | GetNextSearchResult (SearchContext &context) |
Get the next search result. | |
PList< PStringToString > | Search (const PString &filter, const PStringArray &attributes=PStringList(), const PString &base=PString::Empty(), SearchScope scope=ScopeSubTree) |
Search for specified information, returning all matches. | |
void | SetBaseDN (const PString &dn) |
Set the default base DN for use if not specified for searches. | |
const PString & | GetBaseDN () const |
Set the default base DN for use if not specified for searches. | |
int | GetErrorNumber () const |
Get the last OpenLDAP error code. | |
PString | GetErrorText () const |
Get the last OpenLDAP error as text string. | |
struct ldap * | GetOpenLDAP () const |
Get the OpenLDAP context structure. | |
const PTimeInterval & | GetTimeout () const |
Get the timeout for LDAP operations. | |
void | SetTimeout (const PTimeInterval &t) |
Set the timeout for LDAP operations. | |
void | SetSearchLimit (const unsigned s) |
Set a limit on the number of results to return. | |
Protected Attributes | |
struct ldap * | ldapContext |
int | errorNumber |
unsigned | protocolVersion |
PString | defaultBaseDN |
unsigned | searchLimit |
PTimeInterval | timeout |
PString | multipleValueSeparator |
This class will create an LDAP client to access a remote LDAP server.
PLDAPSession::PLDAPSession | ( | const PString & | defaultBaseDN = PString::Empty() | ) |
Create a LDAP client.
Close the sesison on destruction.
PBoolean PLDAPSession::Add | ( | const PString & | dn, |
const PArray< ModAttrib > & | attributes | ||
) |
Add a new distringuished name to LDAP dirctory.
PBoolean PLDAPSession::Add | ( | const PString & | dn, |
const PStringToString & | attributes | ||
) |
Add a new distringuished name to LDAP dirctory.
PBoolean PLDAPSession::Add | ( | const PString & | dn, |
const PStringArray & | attributes | ||
) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
PBoolean PLDAPSession::Add | ( | const PString & | dn, |
const PLDAPStructBase & | data | ||
) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
PBoolean PLDAPSession::Bind | ( | const PString & | who = PString::Empty() , |
const PString & | passwd = PString::Empty() , |
||
AuthenticationMethod | authMethod = AuthSimple |
||
) |
Bind to the remote LDAP server.
Close the LDAP session.
PBoolean PLDAPSession::Delete | ( | const PString & | dn | ) |
Delete the distinguished name from LDAP directory.
const PString& PLDAPSession::GetBaseDN | ( | ) | const [inline] |
Set the default base DN for use if not specified for searches.
References defaultBaseDN.
int PLDAPSession::GetErrorNumber | ( | ) | const [inline] |
Get the last OpenLDAP error code.
References errorNumber.
PString PLDAPSession::GetErrorText | ( | ) | const |
Get the last OpenLDAP error as text string.
PBoolean PLDAPSession::GetNextSearchResult | ( | SearchContext & | context | ) |
Get the next search result.
struct ldap* PLDAPSession::GetOpenLDAP | ( | ) | const [inline, read] |
Get the OpenLDAP context structure.
References ldapContext.
PBoolean PLDAPSession::GetSearchResult | ( | SearchContext & | context, |
PStringToString & | data | ||
) |
Get the current search result entry.
PBoolean PLDAPSession::GetSearchResult | ( | SearchContext & | context, |
const PString & | attribute, | ||
PString & | data | ||
) |
Get an attribute of the current search result entry.
PBoolean PLDAPSession::GetSearchResult | ( | SearchContext & | context, |
const PString & | attribute, | ||
PStringArray & | data | ||
) |
Get an attribute of the current search result entry.
PBoolean PLDAPSession::GetSearchResult | ( | SearchContext & | context, |
const PString & | attribute, | ||
PArray< PBYTEArray > & | data | ||
) |
Get an attribute of the current search result entry.
PBoolean PLDAPSession::GetSearchResult | ( | SearchContext & | context, |
PLDAPStructBase & | data | ||
) |
Get all attributes of the current search result entry.
PString PLDAPSession::GetSearchResultDN | ( | SearchContext & | context | ) |
Get the current search result distinguished name entry.
const PTimeInterval& PLDAPSession::GetTimeout | ( | ) | const [inline] |
Get the timeout for LDAP operations.
References timeout.
PBoolean PLDAPSession::IsOpen | ( | ) | const [inline] |
Determine of session is open.
References ldapContext.
PBoolean PLDAPSession::Modify | ( | const PString & | dn, |
const PArray< ModAttrib > & | attributes | ||
) |
Modify an existing distringuished name to LDAP dirctory.
PBoolean PLDAPSession::Modify | ( | const PString & | dn, |
const PStringToString & | attributes | ||
) |
Add a new distringuished name to LDAP dirctory.
PBoolean PLDAPSession::Modify | ( | const PString & | dn, |
const PStringArray & | attributes | ||
) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
PBoolean PLDAPSession::Modify | ( | const PString & | dn, |
const PLDAPStructBase & | data | ||
) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
PBoolean PLDAPSession::Open | ( | const PString & | server, |
WORD | port = 0 |
||
) |
Open the LDAP session to the specified server.
The server name string is of the form hostip[:port] where hostip is a host name or IP address and the :port is an optional port number. If not present then the port variable is used. If that is also zero then the default port of 369 is used.
PBoolean PLDAPSession::Search | ( | SearchContext & | context, |
const PString & | filter, | ||
const PStringArray & | attributes = PStringList() , |
||
const PString & | base = PString::Empty() , |
||
SearchScope | scope = ScopeSubTree |
||
) |
Start search for specified information.
PList<PStringToString> PLDAPSession::Search | ( | const PString & | filter, |
const PStringArray & | attributes = PStringList() , |
||
const PString & | base = PString::Empty() , |
||
SearchScope | scope = ScopeSubTree |
||
) |
Search for specified information, returning all matches.
This can be used for simple LDAP databases where all attributes are represented by a string.
void PLDAPSession::SetBaseDN | ( | const PString & | dn | ) | [inline] |
Set the default base DN for use if not specified for searches.
References defaultBaseDN.
PBoolean PLDAPSession::SetOption | ( | int | optcode, |
int | value | ||
) |
Set LDAP option parameter (OpenLDAp specific values)
PBoolean PLDAPSession::SetOption | ( | int | optcode, |
void * | value | ||
) |
Set LDAP option parameter (OpenLDAP specific values)
void PLDAPSession::SetSearchLimit | ( | const unsigned | s | ) | [inline] |
Set a limit on the number of results to return.
References searchLimit.
void PLDAPSession::SetTimeout | ( | const PTimeInterval & | t | ) | [inline] |
Set the timeout for LDAP operations.
References timeout.
PString PLDAPSession::defaultBaseDN [protected] |
Referenced by GetBaseDN(), and SetBaseDN().
int PLDAPSession::errorNumber [protected] |
Referenced by GetErrorNumber().
struct ldap* PLDAPSession::ldapContext [protected] |
Referenced by GetOpenLDAP(), and IsOpen().
PString PLDAPSession::multipleValueSeparator [protected] |
unsigned PLDAPSession::protocolVersion [protected] |
unsigned PLDAPSession::searchLimit [protected] |
Referenced by SetSearchLimit().
PTimeInterval PLDAPSession::timeout [protected] |
Referenced by GetTimeout(), and SetTimeout().