Commit 17b3e6db authored by Laurent Montel's avatar Laurent Montel 😁
Browse files

Move ldap element in kldap

parent 12d4ee7e
Pipeline #23359 failed with stage
in 11 minutes and 58 seconds
cmake_minimum_required(VERSION 3.5)
set(PIM_VERSION "5.14.47")
set(PIM_VERSION "5.14.48")
project(libkdepim VERSION ${PIM_VERSION})
......
......@@ -32,21 +32,6 @@ set(kdepim_widgets_LIB_SRCS
widgets/progressindicatorlabel.cpp
)
set(kdepim_ldap_LIB_SRCS
ldap/ldapclient.cpp
ldap/ldapsearchdialog.cpp
ldap/ldapclientsearch.cpp
ldap/ldapclientsearchconfig.cpp
ldap/addhostdialog.cpp
ldap/ldapconfigurewidget.cpp
)
ecm_qt_declare_logging_category(kdepim_ldap_LIB_SRCS HEADER ldapclient_debug.h IDENTIFIER LDAPCLIENT_LOG CATEGORY_NAME org.kde.pim.ldapclient
DESCRIPTION "ldapclient (libkdepim)"
OLD_CATEGORY_NAMES log_ldapclient
EXPORT LIBKDEPIM
)
set(kdepim_misc_LIB_SRCS
misc/emailvalidator.cpp
misc/maillistdrag.cpp
......@@ -70,7 +55,6 @@ set(kdepim_addressline_LIB_SRCS
set(kdepim_LIB_SRCS
${kdepim_progresswidget_LIB_SRCS}
${kdepim_widgets_LIB_SRCS}
${kdepim_ldap_LIB_SRCS}
${kdepim_misc_LIB_SRCS}
${kdepim_multiplyingline_LIB_SRCS}
${kdepim_addressline_LIB_SRCS}
......@@ -120,19 +104,6 @@ install(TARGETS
EXPORT KF5LibkdepimTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
)
ecm_generate_headers(libkdepim_Camelcaseldap_HEADERS
HEADER_NAMES
LdapClientSearchConfig
LdapClientSearch
AddHostDialog
LdapSearchDialog
LdapClient
LdapConfigureWidget
REQUIRED_HEADERS libkdepim_ldap_HEADERS
PREFIX Libkdepim
RELATIVE ldap
)
ecm_generate_headers(libkdepim_Camelcasewidgets_HEADERS
HEADER_NAMES
KCheckComboBox
......@@ -212,7 +183,6 @@ ecm_generate_pri_file(BASE_NAME Libkdepim
install(FILES
${libkdepim_CamelcaseCamelCase_HEADERS}
${libkdepim_Camelcaseldap_HEADERS}
${libkdepim_Camelcasewidgets_HEADERS}
${libkdepim_Camelcaseprogresswidget_HEADERS}
${libkdepim_Camelcasemisc_HEADERS}
......@@ -227,7 +197,6 @@ install(FILES
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/kdepim_export.h
${libkdepim_CamelCase_HEADERS}
${libkdepim_ldap_HEADERS}
${libkdepim_progresswidget_HEADERS}
${libkdepim_misc_HEADERS}
${libkdepim_widgets_HEADERS}
......@@ -246,24 +215,6 @@ install(FILES
if(BUILD_DESIGNERPLUGIN)
add_subdirectory(designer)
endif()
########### next target ###############
set( kcm_ldap_SRCS
ldap/kcmldap.cpp
)
add_library(kcm_ldap MODULE ${kcm_ldap_SRCS})
target_link_libraries(kcm_ldap KF5::Libkdepim KF5::KCMUtils KF5::I18n KF5::Ldap Qt5::Core)
kcoreaddons_desktop_to_json(kcm_ldap ldap/kcmldap.desktop DEFAULT_SERVICE_TYPE)
install(TARGETS kcm_ldap DESTINATION ${KDE_INSTALL_PLUGINDIR})
install(FILES ldap/kcmldap.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
########### install files ###############
install(FILES interfaces/org.kde.addressbook.service.xml interfaces/org.kde.mailtransport.service.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR})
......
/*
This file is part of libkldap.
Copyright (c) 2002-2010 Tobias Koenig <tokoe@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "addhostdialog.h"
#include <QHBoxLayout>
#include <KSharedConfig>
#include <KAcceleratorManager>
#include <kldap/ldapserver.h>
#include <kldap/ldapconfigwidget.h>
#include <KLocalizedString>
#include <QDialogButtonBox>
#include <KConfigGroup>
#include <QPushButton>
#include <QVBoxLayout>
using namespace KLDAP;
class KLDAP::AddHostDialogPrivate
{
public:
AddHostDialogPrivate(AddHostDialog *qq)
: q(qq)
{
}
~AddHostDialogPrivate()
{
writeConfig();
}
void readConfig();
void writeConfig();
KLDAP::LdapConfigWidget *mCfg = nullptr;
KLDAP::LdapServer *mServer = nullptr;
QPushButton *mOkButton = nullptr;
AddHostDialog *q = nullptr;
};
void AddHostDialogPrivate::readConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "AddHostDialog");
const QSize size = group.readEntry("Size", QSize(600, 400));
if (size.isValid()) {
q->resize(size);
}
}
void AddHostDialogPrivate::writeConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "AddHostDialog");
group.writeEntry("Size", q->size());
group.sync();
}
AddHostDialog::AddHostDialog(KLDAP::LdapServer *server, QWidget *parent)
: QDialog(parent)
, d(new KLDAP::AddHostDialogPrivate(this))
{
setWindowTitle(i18nc("@title:window", "Add Host"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
d->mOkButton = buttonBox->button(QDialogButtonBox::Ok);
d->mOkButton->setDefault(true);
d->mOkButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::rejected, this, &AddHostDialog::reject);
setModal(true);
d->mServer = server;
QWidget *page = new QWidget(this);
mainLayout->addWidget(page);
mainLayout->addWidget(buttonBox);
QHBoxLayout *layout = new QHBoxLayout(page);
layout->setContentsMargins(0, 0, 0, 0);
d->mCfg = new KLDAP::LdapConfigWidget(
KLDAP::LdapConfigWidget::W_USER
|KLDAP::LdapConfigWidget::W_PASS
|KLDAP::LdapConfigWidget::W_BINDDN
|KLDAP::LdapConfigWidget::W_REALM
|KLDAP::LdapConfigWidget::W_HOST
|KLDAP::LdapConfigWidget::W_PORT
|KLDAP::LdapConfigWidget::W_VER
|KLDAP::LdapConfigWidget::W_TIMELIMIT
|KLDAP::LdapConfigWidget::W_SIZELIMIT
|KLDAP::LdapConfigWidget::W_PAGESIZE
|KLDAP::LdapConfigWidget::W_DN
|KLDAP::LdapConfigWidget::W_FILTER
|KLDAP::LdapConfigWidget::W_SECBOX
|KLDAP::LdapConfigWidget::W_AUTHBOX,
page);
layout->addWidget(d->mCfg);
d->mCfg->setHost(d->mServer->host());
d->mCfg->setPort(d->mServer->port());
d->mCfg->setDn(d->mServer->baseDn());
d->mCfg->setUser(d->mServer->user());
d->mCfg->setBindDn(d->mServer->bindDn());
d->mCfg->setPassword(d->mServer->password());
d->mCfg->setTimeLimit(d->mServer->timeLimit());
d->mCfg->setSizeLimit(d->mServer->sizeLimit());
d->mCfg->setPageSize(d->mServer->pageSize());
d->mCfg->setVersion(d->mServer->version());
d->mCfg->setFilter(d->mServer->filter());
switch (d->mServer->security()) {
case KLDAP::LdapServer::TLS:
d->mCfg->setSecurity(KLDAP::LdapConfigWidget::TLS);
break;
case KLDAP::LdapServer::SSL:
d->mCfg->setSecurity(KLDAP::LdapConfigWidget::SSL);
break;
default:
d->mCfg->setSecurity(KLDAP::LdapConfigWidget::None);
}
switch (d->mServer->auth()) {
case KLDAP::LdapServer::Simple:
d->mCfg->setAuth(KLDAP::LdapConfigWidget::Simple);
break;
case KLDAP::LdapServer::SASL:
d->mCfg->setAuth(KLDAP::LdapConfigWidget::SASL);
break;
default:
d->mCfg->setAuth(KLDAP::LdapConfigWidget::Anonymous);
}
d->mCfg->setMech(d->mServer->mech());
KAcceleratorManager::manage(this);
connect(d->mCfg, &KLDAP::LdapConfigWidget::hostNameChanged, this, &AddHostDialog::slotHostEditChanged);
connect(d->mOkButton, &QPushButton::clicked, this, &AddHostDialog::slotOk);
d->mOkButton->setEnabled(!d->mServer->host().isEmpty());
d->readConfig();
}
AddHostDialog::~AddHostDialog()
{
delete d;
}
void AddHostDialog::slotHostEditChanged(const QString &text)
{
d->mOkButton->setEnabled(!text.isEmpty());
}
void AddHostDialog::slotOk()
{
d->mServer->setHost(d->mCfg->host());
d->mServer->setPort(d->mCfg->port());
d->mServer->setBaseDn(d->mCfg->dn());
d->mServer->setUser(d->mCfg->user());
d->mServer->setBindDn(d->mCfg->bindDn());
d->mServer->setPassword(d->mCfg->password());
d->mServer->setTimeLimit(d->mCfg->timeLimit());
d->mServer->setSizeLimit(d->mCfg->sizeLimit());
d->mServer->setPageSize(d->mCfg->pageSize());
d->mServer->setVersion(d->mCfg->version());
d->mServer->setFilter(d->mCfg->filter());
switch (d->mCfg->security()) {
case KLDAP::LdapConfigWidget::TLS:
d->mServer->setSecurity(KLDAP::LdapServer::TLS);
break;
case KLDAP::LdapConfigWidget::SSL:
d->mServer->setSecurity(KLDAP::LdapServer::SSL);
break;
default:
d->mServer->setSecurity(KLDAP::LdapServer::None);
}
switch (d->mCfg->auth()) {
case KLDAP::LdapConfigWidget::Simple:
d->mServer->setAuth(KLDAP::LdapServer::Simple);
break;
case KLDAP::LdapConfigWidget::SASL:
d->mServer->setAuth(KLDAP::LdapServer::SASL);
break;
default:
d->mServer->setAuth(KLDAP::LdapServer::Anonymous);
}
d->mServer->setMech(d->mCfg->mech());
QDialog::accept();
}
#include "moc_addhostdialog.cpp"
/*
This file is part of libkldap.
Copyright (c) 2002-2010 Tobias Koenig <tokoe@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef ADDHOSTDIALOG_H
#define ADDHOSTDIALOG_H
#include "kdepim_export.h"
#include <QDialog>
namespace KLDAP {
class LdapServer;
class AddHostDialogPrivate;
/**
* @brief The AddHostDialog class
* @author Laurent Montel <montel@kde.org>
*/
class KDEPIM_EXPORT AddHostDialog : public QDialog
{
Q_OBJECT
public:
explicit AddHostDialog(KLDAP::LdapServer *server, QWidget *parent = nullptr);
~AddHostDialog();
Q_SIGNALS:
void changed(bool);
private Q_SLOTS:
void slotHostEditChanged(const QString &);
void slotOk();
private:
AddHostDialogPrivate *const d;
};
}
#endif // ADDHOSTDIALOG_H
/*
This file is part of libkldap.
Copyright (c) 2002-2009 Tobias Koenig <tokoe@kde.org>
Copyright (C) 2013-2020 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "kcmldap_p.h"
#include <QVBoxLayout>
#include <KAboutData>
#include <KPluginFactory>
#include <KLocalizedString>
#include "ldapconfigurewidget.h"
K_PLUGIN_CLASS_WITH_JSON(KCMLdap, "kcmldap.json")
KCMLdap::KCMLdap(QWidget *parent, const QVariantList &)
: KCModule(parent)
{
setButtons(KCModule::Apply);
KAboutData *about = new KAboutData(QStringLiteral("kcmldap"),
i18n("kcmldap"),
QString(),
i18n("LDAP Server Settings"),
KAboutLicense::LGPL,
i18n("(c) 2009 - 2010 Tobias Koenig"));
about->addAuthor(i18n("Tobias Koenig"), QString(), QStringLiteral("tokoe@kde.org"));
setAboutData(about);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
mLdapConfigureWidget = new KLDAP::LdapConfigureWidget(this);
layout->addWidget(mLdapConfigureWidget);
connect(mLdapConfigureWidget, &KLDAP::LdapConfigureWidget::changed, this, qOverload<bool>(&KCMLdap::changed));
}
KCMLdap::~KCMLdap()
{
}
void KCMLdap::load()
{
mLdapConfigureWidget->load();
}
void KCMLdap::save()
{
mLdapConfigureWidget->save();
}
#include "kcmldap.moc"
[Desktop Entry]
Icon=kontact
Type=Service
X-KDE-ServiceTypes=KCModule
X-KDE-Library=kcm_ldap
X-KDE-ParentApp=kaddressbook
X-KDE-ParentComponents=kaddressbook,kontact_kaddressbookplugin
X-KDE-CfgDlgHierarchy=KAddressBook
X-KDE-Weight=200
Name=LDAP Server Settings
Name[ar]=إعدادات خادوم LDAP
Name[ca]=Arranjament del servidor LDAP
Name[ca@valencia]=Arranjament del servidor LDAP
Name[cs]=Nastavení serveru LDAP
Name[da]=Indstillinger for LDAP-server
Name[de]=LDAP-Server-Einstellungen
Name[en_GB]=LDAP Server Settings
Name[es]=Preferencias del servidor LDAP
Name[et]=LDAP serveri seadistused
Name[fi]=LDAP-palvelinasetukset
Name[fr]=Configuration du serveur LDAP
Name[gl]=Configuración do servidor de LDAP
Name[ia]=Preferentias del servitor LDAP
Name[it]=Impostazioni server LDAP
Name[ja]=LDAP サーバの設定
Name[ko]=LDAP 서버 설정
Name[nb]=LDAP tjenerinnstillinger
Name[nl]=LDAP-serverinstellingen
Name[nn]=Innstillingar for LDAP-tenar
Name[pl]=Ustawienia serwera LDAP
Name[pt]=Configuração do Servidor de LDAP
Name[pt_BR]=Configurações do servidor LDAP
Name[ru]=Настройка серверов LDAP
Name[sk]=Nastavenia servera LDAP
Name[sl]=Nastavitve strežnika LDAP
Name[sr]=Поставке ЛДАП сервера
Name[sr@ijekavian]=Поставке ЛДАП сервера
Name[sr@ijekavianlatin]=Postavke LDAP servera
Name[sr@latin]=Postavke LDAP servera
Name[sv]=LDAP-serverinställningar
Name[tr]=LDAP Sunucu Ayarları
Name[uk]=Параметри серверів LDAP
Name[x-test]=xxLDAP Server Settingsxx
Name[zh_CN]=LDAP 服务器设置
Name[zh_TW]=LDAP 伺服器設定
Comment=Configure the available LDAP servers
Comment[ar]=اضبط خواديم LDAP المتوفّرة
Comment[ca]=Configura els servidors LDAP disponibles
Comment[ca@valencia]=Configura els servidors LDAP disponibles
Comment[cs]=Nastavit dostupné servery LDAP
Comment[da]=Indstil de tilgængelige LDAP-servere
Comment[de]=Die verfügbaren LDAP-Server einrichten
Comment[en_GB]=Configure the available LDAP servers
Comment[es]=Configurar los servidores LDAP disponibles
Comment[et]=Saadaolevate LDAP serverite seadistamine
Comment[fi]=Saatavilla olevien LDAP-palvelinten asetukset
Comment[fr]=Configurer les serveurs LDAP disponibles
Comment[gl]=Configurar os servidores de LDAP dispoñíbeis
Comment[ia]=Configura le servitores LDAP accessibile
Comment[it]=Configura i server LDAP disponibili
Comment[ja]=利用可能な LDAP サーバの設定
Comment[ko]=사용 가능한 LDAP 서버 설정
Comment[nb]=Sett opp de tilgjengelige LDAP-tjenerne
Comment[nl]=De beschikbare LDAP-servers configureren
Comment[nn]=Set opp dei tilgjengelege LDAP-tenarane
Comment[pl]=Ustawienia dostępnych serwerów LDAP
Comment[pt]=Configurar os servidores de LDAP disponíveis
Comment[pt_BR]=Configura os servidores LDAP disponíveis
Comment[ru]=Настройка доступных серверов LDAP
Comment[sk]=Nastaviť dostupné servery LDAP
Comment[sl]=Nastavite razpoložljive strežnike LDAP
Comment[sr]=Подешавање доступних ЛДАП сервера
Comment[sr@ijekavian]=Подешавање доступних ЛДАП сервера
Comment[sr@ijekavianlatin]=Podešavanje dostupnih LDAP servera
Comment[sr@latin]=Podešavanje dostupnih LDAP servera
Comment[sv]=Anpassa tillgängliga LDAP-servrar
Comment[tr]=Kullanılabilir LDAP sunucularını yapılandır
Comment[uk]=Налаштовування доступних серверів LDAP
Comment[x-test]=xxConfigure the available LDAP serversxx
Comment[zh_CN]=配置可用 LDAP 服务器
Comment[zh_TW]=配置可用的 LDAP 伺服器
X-KDE-Keywords=kaddressbook, configure, settings, LDAP
X-KDE-Keywords[ar]=kaddressbook,configure,settings,LDAP,دفتر,عناوين,ضبط,إعدادات
X-KDE-Keywords[ca]=kaddressbook, configura, arranjament, LDAP
X-KDE-Keywords[ca@valencia]=kaddressbook, configura, arranjament, LDAP
X-KDE-Keywords[da]=kaddressbook, indstil, indstillinger, LDAP
X-KDE-Keywords[de]=KAddressbook,einstellen,konfigurieren,Konfiguration,Einrichtung,Einstellungen,LDAP
X-KDE-Keywords[en_GB]=kaddressbook, configure, settings, LDAP
X-KDE-Keywords[es]=kaddressbook, configurar, preferencias, LDAP
X-KDE-Keywords[et]=kde aadressiraamat, seadistamine, seadistused, LDAP
X-KDE-Keywords[fi]=kaddressbook, configure, settings, asetukset, LDAP
X-KDE-Keywords[fr]=KAddressBook, configuration, paramètres, LDAP
X-KDE-Keywords[gl]=kaddressbook, configurar, opcións, LDAP
X-KDE-Keywords[ia]=kaddressbook, configura, preferentias, LDAP
X-KDE-Keywords[it]=kaddressbook, configurazione, impostazioni, LDAP
X-KDE-Keywords[ko]=kaddressbook, configure, settings, LDAP, 설정, 주소록
X-KDE-Keywords[nb]=kaddressbook, oppsett, innstillinger, LDAP
X-KDE-Keywords[nl]=kaddressbook, instellen, instellingen, LDAP
X-KDE-Keywords[pl]=kaddressbook, konfiguruj, ustawienia, LDAP
X-KDE-Keywords[pt]=kaddressbook, configurar, configuração, LDAP
X-KDE-Keywords[pt_BR]=kaddressbook, configurar, configurações, LDAP
X-KDE-Keywords[ru]=kaddressbook,configure,settings,LDAP,адресная книга,настройки,настроить
X-KDE-Keywords[sk]=kaddressbook, nastaviť, nastavenia, LDAP
X-KDE-Keywords[sl]=kaddressbook, nastavi, nastavitve, LDAP
X-KDE-Keywords[sr]=kaddressbook,configure,settings,LDAP,К‑адресар,подешавање,подесити,поставке,ЛДАП
X-KDE-Keywords[sr@ijekavian]=kaddressbook,configure,settings,LDAP,К‑адресар,подешавање,подесити,поставке,ЛДАП
X-KDE-Keywords[sr@ijekavianlatin]=kaddressbook,configure,settings,LDAP,K‑adresar,podešavanje,podesiti,postavke,LDAP
X-KDE-Keywords[sr@latin]=kaddressbook,configure,settings,LDAP,K‑adresar,podešavanje,podesiti,postavke,LDAP
X-KDE-Keywords[sv]=adressbok, anpassa, inställningar, LDAP
X-KDE-Keywords[tr]=kaddressbook, yapılandırma, ayarlar, LDAP, adresdefteri
X-KDE-Keywords[uk]=kaddressbook,налаштувати,адресна,книга,параметри,лдап,configure,settings,LDAP
X-KDE-Keywords[x-test]=xxkaddressbookxx,xx configurexx,xx settingsxx,xx LDAPxx
X-KDE-Keywords[zh_CN]=kaddressbook, configure, settings, LDAP, 配置, 地址簿,设置
X-KDE-Keywords[zh_TW]=kaddressbook, configure, settings, LDAP
/*
This file is part of libkldap.
Copyright (c) 2003 - 2009 Tobias Koenig <tokoe@kde.org>
Copyright (C) 2013-2020 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KCMLDAP_H
#define KCMLDAP_H
#include <KCModule>
namespace KLDAP {
class LdapConfigureWidget;
}
class KCMLdap : public KCModule
{
Q_OBJECT
public:
explicit KCMLdap(QWidget *parent, const QVariantList &args);
~KCMLdap() override;
void load() override;
void save() override;
private:
KLDAP::LdapConfigureWidget *mLdapConfigureWidget = nullptr;
};
#endif
/* kldapclient.cpp - LDAP access
* Copyright (C) 2002 Klarälvdalens Datakonsult AB
*
* Author: Steffen Hansen <hansen@kde.org>
*
* Ported to KABC by Daniel Molkentin <molkentin@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.