|
PTLib Version 2.10.2
|
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.
| PLDAPSession::~PLDAPSession | ( | ) |
Close the sesison on destruction.
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.
| PBoolean PLDAPSession::Close | ( | ) |
Close the LDAP session.
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 PStringArray & | attributes | ||
| ) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
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 PLDAPStructBase & | data | ||
| ) |
Add a new distringuished name to LDAP dirctory.
The attributes list is a string array of the form attr=value
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, |
| void * | value | ||
| ) |
Set LDAP option parameter (OpenLDAP specific values)
| PBoolean PLDAPSession::SetOption | ( | int | optcode, |
| int | 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().