File indexing completed on 2025-02-02 05:08:37
0001 /* 0002 SPDX-FileCopyrightText: 2010-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "setupobject.h" 0010 #include <KLDAPCore/LdapServer> 0011 0012 class LdapTest; 0013 class KConfig; 0014 0015 namespace KLDAPWidgets 0016 { 0017 class LdapClientSearchConfig; 0018 } 0019 0020 class Ldap : public SetupObject 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit Ldap(QObject *parent = nullptr); 0025 ~Ldap() override; 0026 void create() override; 0027 void destroy() override; 0028 void edit(); 0029 public Q_SLOTS: 0030 Q_SCRIPTABLE void setUser(const QString &name); 0031 Q_SCRIPTABLE void setServer(const QString &server); 0032 Q_SCRIPTABLE void setAuthenticationMethod(const QString &meth); 0033 Q_SCRIPTABLE void setBindDn(const QString &bindDn); 0034 Q_SCRIPTABLE void setBaseDn(const QString &baseDn); 0035 Q_SCRIPTABLE void setPassword(const QString &password); 0036 Q_SCRIPTABLE void setPort(const int port); 0037 Q_SCRIPTABLE void setSecurity(const KLDAPCore::LdapServer::Security security); 0038 Q_SCRIPTABLE void setSaslMech(const QString &saslmech); 0039 Q_SCRIPTABLE void setRealm(const QString &realm); 0040 Q_SCRIPTABLE void setVersion(const int version); 0041 Q_SCRIPTABLE void setPageSize(const int pageSize); 0042 Q_SCRIPTABLE void setTimeLimit(const int timeLimit); 0043 Q_SCRIPTABLE void setSizeLimit(const int sizeLimit); 0044 Q_SCRIPTABLE void setEditMode(const bool editMode); 0045 0046 protected: 0047 virtual KConfig *config() const; 0048 0049 KLDAPWidgets::LdapClientSearchConfig *const m_clientSearchConfig; 0050 0051 private: 0052 friend class LdapTest; 0053 void slotRestoreDone(); 0054 QString securityString(); 0055 0056 QString m_user; 0057 QString m_server; 0058 QString m_bindDn; 0059 QString m_authMethod; 0060 QString m_password; 0061 QString m_mech; 0062 QString m_realm; 0063 QString m_baseDn; 0064 int m_port = 389; 0065 KLDAPCore::LdapServer::Security m_security = KLDAPCore::LdapServer::None; 0066 int m_version = 3; 0067 int m_pageSize = 0; 0068 int m_timeLimit = 0; 0069 int m_sizeLimit = 0; 0070 int m_entry = -1; 0071 bool m_editMode = false; 0072 };