PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pldap.h File Reference
#include <ptlib/sockets.h>
#include <ptlib/pluginmgr.h>
#include <map>
#include <list>
Include dependency graph for pldap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PLDAPSession
 This class will create an LDAP client to access a remote LDAP server. More...
 
class  PLDAPSession::ModAttrib
 
class  PLDAPSession::StringModAttrib
 
class  PLDAPSession::BinaryModAttrib
 
class  PLDAPSession::SearchContext
 
class  PLDAPAttributeBase
 
class  PLDAPStructBase
 
class  PLDAPSchema
 
class  PLDAPSchema::Attribute
 

Macros

#define LDAP_Schema(name)   PCREATE_PLUGIN(name, PLDAPSchema)
 
#define PLDAP_STRUCT_BEGIN(name)
 
#define PLDAP_ATTRIBUTE(base, type, attribute, pointer, init)
 
#define PLDAP_ATTR_SIMP(base, type, attribute)   PLDAP_ATTRIBUTE(base, type, attribute, NULL, ;)
 
#define PLDAP_ATTR_INIT(base, type, attribute, init)   PLDAP_ATTRIBUTE(base, type, attribute, NULL, instance = init;)
 
#define PLDAP_BINATTRIB(base, type, attribute)   PLDAP_ATTRIBUTE(base, type, attribute, &((base &)base::GetInitialiser()).attribute, ;)
 
#define PLDAP_STRUCT_END()   };
 

Functions

 PCREATE_PLUGIN_SERVICE (PLDAPSchema)
 

Macro Definition Documentation

#define LDAP_Schema (   name)    PCREATE_PLUGIN(name, PLDAPSchema)
#define PLDAP_ATTR_INIT (   base,
  type,
  attribute,
  init 
)    PLDAP_ATTRIBUTE(base, type, attribute, NULL, instance = init;)
#define PLDAP_ATTR_SIMP (   base,
  type,
  attribute 
)    PLDAP_ATTRIBUTE(base, type, attribute, NULL, ;)
#define PLDAP_ATTRIBUTE (   base,
  type,
  attribute,
  pointer,
  init 
)
Value:
public: type attribute; \
private: struct PLDAPAttr_##attribute : public PLDAPAttributeBase { \
PLDAPAttr_##attribute() \
: PLDAPAttributeBase(#attribute, pointer, sizeof(type)), \
instance(((base &)base::GetInitialiser()).attribute) \
{ init } \
virtual void PrintOn (ostream & s) const { s << instance; } \
virtual void ReadFrom(istream & s) { s >> instance; } \
virtual void Copy(const PLDAPAttributeBase & other) \
{ instance = ((PLDAPAttr_##attribute &)other).instance; } \
type & instance; \
} pldapvar_##attribute
#define PLDAP_BINATTRIB (   base,
  type,
  attribute 
)    PLDAP_ATTRIBUTE(base, type, attribute, &((base &)base::GetInitialiser()).attribute, ;)
#define PLDAP_STRUCT_BEGIN (   name)
Value:
class name : public PLDAPStructBase { \
public: name() : PLDAPStructBase() { EndConstructor(); } \
public: name(const name & other) : PLDAPStructBase() { EndConstructor(); operator=(other); } \
public: name(const PStringArray & array) : PLDAPStructBase() { EndConstructor(); operator=(array); } \
public: name(const PStringToString & dict) : PLDAPStructBase() { EndConstructor(); operator=(dict); } \
public: name & operator=(const name & other) { PLDAPStructBase::operator=(other); return *this; } \
public: name & operator=(const PStringArray & array) { PLDAPStructBase::operator=(array); return *this; } \
public: name & operator=(const PStringToString & dict) { PLDAPStructBase::operator=(dict); return *this; } \
PLDAP_ATTR_INIT(name, PString, objectClass, #name);
#define PLDAP_STRUCT_END ( )    };

Function Documentation

PCREATE_PLUGIN_SERVICE ( PLDAPSchema  )