00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KABC_RESOURCELDAP_H
00022
#define KABC_RESOURCELDAP_H
00023
00024
00025
#include <lber.h>
00026
#include <ldap.h>
00027
00028
#include <kabc/resource.h>
00029
00030
class KConfig;
00031
00032
namespace KABC {
00033
00034
class ResourceLDAP :
public Resource
00035 {
00036
public:
00037 ResourceLDAP(
const KConfig* );
00038 ResourceLDAP(
const QString &user,
const QString &passwd,
00039
const QString &dn,
const QString &host,
00040
int port,
const QString &filter,
bool anonymous,
00041
const QMap<QString, QString> &attributes );
00042
00043
virtual void writeConfig(
KConfig* );
00044
00045
virtual bool doOpen();
00046
virtual void doClose();
00047
00048
virtual Ticket *requestSaveTicket();
00049
virtual void releaseSaveTicket(
Ticket* );
00050
00051
virtual bool load();
00052
virtual bool asyncLoad();
00053
virtual bool save(
Ticket * );
00054
virtual bool asyncSave(
Ticket * );
00055
00056
virtual void removeAddressee(
const Addressee& addr );
00057
00058
void setUser(
const QString &user );
00059
QString user() const;
00060
00061
void setPassword( const
QString &password );
00062
QString password() const;
00063
00064
void setDn( const
QString &dn );
00065
QString dn() const;
00066
00067
void setHost( const
QString &host );
00068
QString host() const;
00069
00070
void setPort(
int port );
00071
int port() const;
00072
00073
void setFilter( const
QString &filter );
00074
QString filter() const;
00075
00076
void setIsAnonymous(
bool value );
00077
bool isAnonymous() const;
00078
00079
void setAttributes( const
QMap<
QString, QString> &attributes );
00080
QMap<QString, QString> attributes() const;
00081
00082 protected:
00083
void init( const QString &user, const QString &passwd,
00084 const QString &dn, const QString &host,
00085
int port, const QString &filter,
bool anonymous,
00086 const
QMap<QString, QString> &attributes );
00087
00088 private:
00089 QString mUser;
00090 QString mPassword;
00091 QString mDn;
00092 QString mHost;
00093 QString mFilter;
00094
int mPort;
00095
bool mAnonymous;
00096
QMap<QString, QString> mAttributes;
00097
00098 LDAP *mLdap;
00099
00100 class ResourceLDAPPrivate;
00101 ResourceLDAPPrivate *d;
00102 };
00103
00104 }
00105
00106 #endif