Fix deprecated LDAP API.

This commit is contained in:
Julien Wadel 2024-11-20 19:30:32 +01:00
parent de2612b40e
commit ea2612acbb
10 changed files with 70 additions and 46 deletions

View file

@ -23,20 +23,20 @@
DEFINE_ABSTRACT_OBJECT(LdapCore) DEFINE_ABSTRACT_OBJECT(LdapCore)
QSharedPointer<LdapCore> LdapCore::create(const std::shared_ptr<linphone::Ldap> &ldap) { QSharedPointer<LdapCore> LdapCore::create(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap) {
auto sharedPointer = QSharedPointer<LdapCore>(new LdapCore(ldap), &QObject::deleteLater); auto sharedPointer = QSharedPointer<LdapCore>(new LdapCore(ldap), &QObject::deleteLater);
sharedPointer->setSelf(sharedPointer); sharedPointer->setSelf(sharedPointer);
sharedPointer->moveToThread(App::getInstance()->thread()); sharedPointer->moveToThread(App::getInstance()->thread());
return sharedPointer; return sharedPointer;
} }
LdapCore::LdapCore(const std::shared_ptr<linphone::Ldap> &ldap) : QObject(nullptr) { LdapCore::LdapCore(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap) : QObject(nullptr) {
App::getInstance()->mEngine->setObjectOwnership(this, QQmlEngine::CppOwnership); App::getInstance()->mEngine->setObjectOwnership(this, QQmlEngine::CppOwnership);
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
mLdapModel = Utils::makeQObject_ptr<LdapModel>(ldap); mLdapModel = Utils::makeQObject_ptr<LdapModel>(ldap);
INIT_CORE_MEMBER(Enabled, mLdapModel) INIT_CORE_MEMBER(Enabled, mLdapModel)
INIT_CORE_MEMBER(Server, mLdapModel) INIT_CORE_MEMBER(ServerUrl, mLdapModel)
INIT_CORE_MEMBER(BindDn, mLdapModel) INIT_CORE_MEMBER(BindDn, mLdapModel)
INIT_CORE_MEMBER(Password, mLdapModel) INIT_CORE_MEMBER(Password, mLdapModel)
INIT_CORE_MEMBER(AuthMethod, mLdapModel) INIT_CORE_MEMBER(AuthMethod, mLdapModel)
@ -44,10 +44,10 @@ LdapCore::LdapCore(const std::shared_ptr<linphone::Ldap> &ldap) : QObject(nullpt
INIT_CORE_MEMBER(ServerCertificatesVerificationMode, mLdapModel) INIT_CORE_MEMBER(ServerCertificatesVerificationMode, mLdapModel)
INIT_CORE_MEMBER(BaseObject, mLdapModel) INIT_CORE_MEMBER(BaseObject, mLdapModel)
INIT_CORE_MEMBER(Filter, mLdapModel) INIT_CORE_MEMBER(Filter, mLdapModel)
INIT_CORE_MEMBER(MaxResults, mLdapModel) INIT_CORE_MEMBER(Limit, mLdapModel)
INIT_CORE_MEMBER(Timeout, mLdapModel) INIT_CORE_MEMBER(Timeout, mLdapModel)
INIT_CORE_MEMBER(Delay, mLdapModel) INIT_CORE_MEMBER(Delay, mLdapModel)
INIT_CORE_MEMBER(MinChars, mLdapModel) INIT_CORE_MEMBER(MinCharacters, mLdapModel)
INIT_CORE_MEMBER(NameAttribute, mLdapModel) INIT_CORE_MEMBER(NameAttribute, mLdapModel)
INIT_CORE_MEMBER(SipAttribute, mLdapModel) INIT_CORE_MEMBER(SipAttribute, mLdapModel)
INIT_CORE_MEMBER(SipDomain, mLdapModel) INIT_CORE_MEMBER(SipDomain, mLdapModel)
@ -73,7 +73,7 @@ void LdapCore::remove() {
} }
bool LdapCore::isValid() { bool LdapCore::isValid() {
return !mServer.isEmpty() && !mBaseObject.isEmpty(); return !mServerUrl.isEmpty() && !mBaseObject.isEmpty();
} }
void LdapCore::setSelf(QSharedPointer<LdapCore> me) { void LdapCore::setSelf(QSharedPointer<LdapCore> me) {
@ -81,7 +81,7 @@ void LdapCore::setSelf(QSharedPointer<LdapCore> me) {
new SafeConnection<LdapCore, LdapModel>(me, mLdapModel), &QObject::deleteLater); new SafeConnection<LdapCore, LdapModel>(me, mLdapModel), &QObject::deleteLater);
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, bool, enabled, Enabled) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, bool, enabled, Enabled)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, server, Server) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, serverUrl, ServerUrl)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, bindDn, BindDn) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, bindDn, BindDn)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, password, Password) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, password, Password)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, linphone::Ldap::AuthMethod, DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, linphone::Ldap::AuthMethod,
@ -92,10 +92,10 @@ void LdapCore::setSelf(QSharedPointer<LdapCore> me) {
ServerCertificatesVerificationMode) ServerCertificatesVerificationMode)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, baseObject, BaseObject) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, baseObject, BaseObject)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, filter, Filter) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, filter, Filter)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, maxResults, MaxResults) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, limit, Limit)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, timeout, Timeout) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, timeout, Timeout)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, delay, Delay) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, delay, Delay)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, minChars, MinChars) DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, int, minCharacters, MinCharacters)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, nameAttribute, DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, nameAttribute,
NameAttribute) NameAttribute)
DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, sipAttribute, DEFINE_CORE_GETSET_CONNECT(mLdapModelConnection, LdapCore, LdapModel, mLdapModel, QString, sipAttribute,

View file

@ -32,8 +32,8 @@ class LdapCore : public QObject, public AbstractObject {
Q_OBJECT Q_OBJECT
public: public:
static QSharedPointer<LdapCore> create(const std::shared_ptr<linphone::Ldap> &ldap); static QSharedPointer<LdapCore> create(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap);
LdapCore(const std::shared_ptr<linphone::Ldap> &ldap); LdapCore(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap);
~LdapCore(); ~LdapCore();
void setSelf(QSharedPointer<LdapCore> me); void setSelf(QSharedPointer<LdapCore> me);
@ -43,7 +43,7 @@ public:
Q_INVOKABLE bool isValid(); Q_INVOKABLE bool isValid();
DECLARE_CORE_GETSET_MEMBER(bool, enabled, Enabled) DECLARE_CORE_GETSET_MEMBER(bool, enabled, Enabled)
DECLARE_CORE_GETSET_MEMBER(QString, server, Server) DECLARE_CORE_GETSET_MEMBER(QString, serverUrl, ServerUrl)
DECLARE_CORE_GETSET_MEMBER(QString, bindDn, BindDn) DECLARE_CORE_GETSET_MEMBER(QString, bindDn, BindDn)
DECLARE_CORE_GETSET_MEMBER(QString, password, Password) DECLARE_CORE_GETSET_MEMBER(QString, password, Password)
DECLARE_CORE_GETSET_MEMBER(linphone::Ldap::AuthMethod, authMethod, AuthMethod) DECLARE_CORE_GETSET_MEMBER(linphone::Ldap::AuthMethod, authMethod, AuthMethod)
@ -53,10 +53,10 @@ public:
ServerCertificatesVerificationMode) ServerCertificatesVerificationMode)
DECLARE_CORE_GETSET_MEMBER(QString, baseObject, BaseObject) DECLARE_CORE_GETSET_MEMBER(QString, baseObject, BaseObject)
DECLARE_CORE_GETSET_MEMBER(QString, filter, Filter) DECLARE_CORE_GETSET_MEMBER(QString, filter, Filter)
DECLARE_CORE_GETSET_MEMBER(int, maxResults, MaxResults) DECLARE_CORE_GETSET_MEMBER(int, limit, Limit)
DECLARE_CORE_GETSET_MEMBER(int, timeout, Timeout) DECLARE_CORE_GETSET_MEMBER(int, timeout, Timeout)
DECLARE_CORE_GETSET_MEMBER(int, delay, Delay) DECLARE_CORE_GETSET_MEMBER(int, delay, Delay)
DECLARE_CORE_GETSET_MEMBER(int, minChars, MinChars) DECLARE_CORE_GETSET_MEMBER(int, minCharacters, MinCharacters)
DECLARE_CORE_GETSET_MEMBER(QString, nameAttribute, NameAttribute) DECLARE_CORE_GETSET_MEMBER(QString, nameAttribute, NameAttribute)
DECLARE_CORE_GETSET_MEMBER(QString, sipAttribute, SipAttribute) DECLARE_CORE_GETSET_MEMBER(QString, sipAttribute, SipAttribute)
DECLARE_CORE_GETSET_MEMBER(QString, sipDomain, SipDomain) DECLARE_CORE_GETSET_MEMBER(QString, sipDomain, SipDomain)

View file

@ -36,7 +36,7 @@ QSharedPointer<LdapList> LdapList::create() {
return model; return model;
} }
QSharedPointer<LdapCore> LdapList::createLdapCore(const std::shared_ptr<linphone::Ldap> &ldap) { QSharedPointer<LdapCore> LdapList::createLdapCore(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap) {
auto LdapCore = LdapCore::create(ldap); auto LdapCore = LdapCore::create(ldap);
return LdapCore; return LdapCore;
} }
@ -58,9 +58,11 @@ void LdapList::setSelf(QSharedPointer<LdapList> me) {
mModelConnection->invokeToModel([this]() { mModelConnection->invokeToModel([this]() {
QList<QSharedPointer<LdapCore>> *ldaps = new QList<QSharedPointer<LdapCore>>(); QList<QSharedPointer<LdapCore>> *ldaps = new QList<QSharedPointer<LdapCore>>();
mustBeInLinphoneThread(getClassName()); mustBeInLinphoneThread(getClassName());
for (auto ldap : CoreModel::getInstance()->getCore()->getLdapList()) { for (auto server : CoreModel::getInstance()->getCore()->getRemoteContactDirectories()) {
auto model = createLdapCore(ldap); if (server->getType() == linphone::RemoteContactDirectory::Type::Ldap) {
ldaps->push_back(model); auto model = createLdapCore(server);
ldaps->push_back(model);
}
} }
mModelConnection->invokeToCore([this, ldaps]() { mModelConnection->invokeToCore([this, ldaps]() {
mustBeInMainThread(getClassName()); mustBeInMainThread(getClassName());

View file

@ -36,7 +36,7 @@ class LdapList : public ListProxy, public AbstractObject {
public: public:
static QSharedPointer<LdapList> create(); static QSharedPointer<LdapList> create();
// Create a LdapCore and make connections to List. // Create a LdapCore and make connections to List.
QSharedPointer<LdapCore> createLdapCore(const std::shared_ptr<linphone::Ldap> &ldap); QSharedPointer<LdapCore> createLdapCore(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap);
LdapList(QObject *parent = Q_NULLPTR); LdapList(QObject *parent = Q_NULLPTR);
~LdapList(); ~LdapList();

View file

@ -131,7 +131,18 @@ CallCore::CallCore(const std::shared_ptr<linphone::Call> &call) : QObject(nullpt
mRemoteName = Utils::coreStringToAppString( mRemoteName = Utils::coreStringToAppString(
linphoneFriend->getVcard() ? linphoneFriend->getVcard()->getFullName() : linphoneFriend->getName()); linphoneFriend->getVcard() ? linphoneFriend->getVcard()->getFullName() : linphoneFriend->getName());
if (mRemoteName.isEmpty()) mRemoteName = ToolModel::getDisplayName(mRemoteAddress); if (mRemoteName.isEmpty()) mRemoteName = ToolModel::getDisplayName(mRemoteAddress);
mShouldFindRemoteLdapFriend = !linphoneFriend && !CoreModel::getInstance()->getCore()->getLdapList().empty(); mShouldFindRemoteLdapFriend = !linphoneFriend; //
if (mShouldFindRemoteLdapFriend) {
auto servers = CoreModel::getInstance()->getCore()->getRemoteContactDirectories();
bool haveLdap = false;
for (auto s : servers) {
if (s->getType() == linphone::RemoteContactDirectory::Type::Ldap) {
haveLdap = true;
break;
}
}
mShouldFindRemoteLdapFriend = haveLdap;
}
mLocalAddress = Utils::coreStringToAppString(call->getCallLog()->getLocalAddress()->asStringUriOnly()); mLocalAddress = Utils::coreStringToAppString(call->getCallLog()->getLocalAddress()->asStringUriOnly());
mStatus = LinphoneEnums::fromLinphone(call->getCallLog()->getStatus()); mStatus = LinphoneEnums::fromLinphone(call->getCallLog()->getStatus());

View file

@ -24,19 +24,20 @@
DEFINE_ABSTRACT_OBJECT(LdapModel) DEFINE_ABSTRACT_OBJECT(LdapModel)
LdapModel::LdapModel(const std::shared_ptr<linphone::Ldap> &ldap, QObject *parent) { LdapModel::LdapModel(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap, QObject *parent) {
mustBeInLinphoneThread(getClassName()); mustBeInLinphoneThread(getClassName());
if (ldap) { if (ldap) {
mLdap = ldap; mLdap = ldap;
mLdapParamsClone = mLdap->getParams()->clone(); mLdapParamsClone = mLdap->getLdapParams();
} else { } else {
mLdap = nullptr;
mLdapParamsClone = CoreModel::getInstance()->getCore()->createLdapParams(); mLdapParamsClone = CoreModel::getInstance()->getCore()->createLdapParams();
mLdapParamsClone->setTimeout(5);
mLdapParamsClone->setMaxResults(50);
mLdapParamsClone->setDelay(2000); mLdapParamsClone->setDelay(2000);
mLdapParamsClone->setMinChars(0); // Needs to be 0 if Contacts list should be synchronized with LDAP AB
mLdapParamsClone->enableTls(true); mLdapParamsClone->enableTls(true);
mLdap = CoreModel::getInstance()->getCore()->createLdapRemoteContactDirectory(mLdapParamsClone);
mLdap->setTimeout(5);
mLdap->setLimit(50);
mLdap->setMinCharacters(0); // Needs to be 0 if Contacts list should be synchronized with LDAP AB
} }
} }
@ -46,19 +47,29 @@ LdapModel::~LdapModel() {
void LdapModel::save() { void LdapModel::save() {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
if (mLdap) int oldTimeout = 5;
CoreModel::getInstance()->getCore()->removeLdap( int oldLimit = 50;
int oldMinChars = 0;
if (mLdap) {
oldTimeout = mLdap->getTimeout();
oldLimit = mLdap->getLimit();
oldMinChars = mLdap->getMinCharacters();
CoreModel::getInstance()->getCore()->removeRemoteContactDirectory(
mLdap); // Need to do remove/add when updating, as setParams on existing one also adds it to core. mLdap); // Need to do remove/add when updating, as setParams on existing one also adds it to core.
mLdap = CoreModel::getInstance()->getCore()->createLdapWithParams(mLdapParamsClone); }
CoreModel::getInstance()->getCore()->addLdap(mLdap); mLdap = CoreModel::getInstance()->getCore()->createLdapRemoteContactDirectory(mLdapParamsClone);
mLdap->setTimeout(oldTimeout);
mLdap->setLimit(oldLimit);
mLdap->setMinCharacters(oldMinChars);
CoreModel::getInstance()->getCore()->addRemoteContactDirectory(mLdap);
lDebug() << log().arg("LDAP Server saved"); lDebug() << log().arg("LDAP Server saved");
mLdapParamsClone = mLdap->getParams()->clone(); mLdapParamsClone = mLdap->getLdapParams();
emit saved(); emit saved();
} }
void LdapModel::remove() { void LdapModel::remove() {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
CoreModel::getInstance()->getCore()->removeLdap(mLdap); CoreModel::getInstance()->getCore()->removeRemoteContactDirectory(mLdap);
lDebug() << log().arg("LDAP Server removed"); lDebug() << log().arg("LDAP Server removed");
emit removed(); emit removed();
} }
@ -77,7 +88,7 @@ void LdapModel::setDebug(bool data) {
} }
DEFINE_GETSET(LdapModel, bool, enabled, Enabled, mLdapParamsClone) DEFINE_GETSET(LdapModel, bool, enabled, Enabled, mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, server, Server, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, serverUrl, ServerUrl, mLdap)
DEFINE_GETSET_MODEL_STRING(LdapModel, bindDn, BindDn, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, bindDn, BindDn, mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, password, Password, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, password, Password, mLdapParamsClone)
DEFINE_GETSET(LdapModel, linphone::Ldap::AuthMethod, authMethod, AuthMethod, mLdapParamsClone) DEFINE_GETSET(LdapModel, linphone::Ldap::AuthMethod, authMethod, AuthMethod, mLdapParamsClone)
@ -89,10 +100,10 @@ DEFINE_GETSET(LdapModel,
mLdapParamsClone) mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, baseObject, BaseObject, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, baseObject, BaseObject, mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, filter, Filter, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, filter, Filter, mLdapParamsClone)
DEFINE_GETSET(LdapModel, int, maxResults, MaxResults, mLdapParamsClone) DEFINE_GETSET(LdapModel, int, limit, Limit, mLdap)
DEFINE_GETSET(LdapModel, int, timeout, Timeout, mLdapParamsClone) DEFINE_GETSET(LdapModel, int, timeout, Timeout, mLdap)
DEFINE_GETSET(LdapModel, int, delay, Delay, mLdapParamsClone) DEFINE_GETSET(LdapModel, int, delay, Delay, mLdapParamsClone)
DEFINE_GETSET(LdapModel, int, minChars, MinChars, mLdapParamsClone) DEFINE_GETSET(LdapModel, int, minCharacters, MinCharacters, mLdap)
DEFINE_GETSET_MODEL_STRING(LdapModel, nameAttribute, NameAttribute, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, nameAttribute, NameAttribute, mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, sipAttribute, SipAttribute, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, sipAttribute, SipAttribute, mLdapParamsClone)
DEFINE_GETSET_MODEL_STRING(LdapModel, sipDomain, SipDomain, mLdapParamsClone) DEFINE_GETSET_MODEL_STRING(LdapModel, sipDomain, SipDomain, mLdapParamsClone)

View file

@ -29,7 +29,7 @@ class LdapModel : public QObject, public AbstractObject {
Q_OBJECT Q_OBJECT
public: public:
LdapModel(const std::shared_ptr<linphone::Ldap> &ldap, QObject *parent = nullptr); LdapModel(const std::shared_ptr<linphone::RemoteContactDirectory> &ldap, QObject *parent = nullptr);
~LdapModel(); ~LdapModel();
void setDefaultParams(); void setDefaultParams();
@ -37,7 +37,7 @@ public:
void remove(); void remove();
DECLARE_GETSET(bool, enabled, Enabled) DECLARE_GETSET(bool, enabled, Enabled)
DECLARE_GETSET(QString, server, Server) DECLARE_GETSET(QString, serverUrl, ServerUrl)
DECLARE_GETSET(QString, bindDn, BindDn) DECLARE_GETSET(QString, bindDn, BindDn)
DECLARE_GETSET(QString, password, Password) DECLARE_GETSET(QString, password, Password)
DECLARE_GETSET(linphone::Ldap::AuthMethod, authMethod, AuthMethod) DECLARE_GETSET(linphone::Ldap::AuthMethod, authMethod, AuthMethod)
@ -47,10 +47,10 @@ public:
ServerCertificatesVerificationMode) ServerCertificatesVerificationMode)
DECLARE_GETSET(QString, baseObject, BaseObject) DECLARE_GETSET(QString, baseObject, BaseObject)
DECLARE_GETSET(QString, filter, Filter) DECLARE_GETSET(QString, filter, Filter)
DECLARE_GETSET(int, maxResults, MaxResults) DECLARE_GETSET(int, limit, Limit)
DECLARE_GETSET(int, timeout, Timeout) DECLARE_GETSET(int, timeout, Timeout)
DECLARE_GETSET(int, delay, Delay) DECLARE_GETSET(int, delay, Delay)
DECLARE_GETSET(int, minChars, MinChars) DECLARE_GETSET(int, minCharacters, MinCharacters)
DECLARE_GETSET(QString, nameAttribute, NameAttribute) DECLARE_GETSET(QString, nameAttribute, NameAttribute)
DECLARE_GETSET(QString, sipAttribute, SipAttribute) DECLARE_GETSET(QString, sipAttribute, SipAttribute)
DECLARE_GETSET(QString, sipDomain, SipDomain) DECLARE_GETSET(QString, sipDomain, SipDomain)
@ -61,7 +61,7 @@ signals:
void removed(); void removed();
private: private:
std::shared_ptr<linphone::Ldap> mLdap; std::shared_ptr<linphone::RemoteContactDirectory> mLdap;
std::shared_ptr<linphone::LdapParams> mLdapParamsClone; std::shared_ptr<linphone::LdapParams> mLdapParamsClone;
DECLARE_ABSTRACT_OBJECT DECLARE_ABSTRACT_OBJECT

View file

@ -42,7 +42,7 @@ AbstractSettingsLayout {
newItemGui: createGuiObject('Ldap') newItemGui: createGuiObject('Ldap')
settingsLayout: layoutUrl("LdapSettingsLayout") settingsLayout: layoutUrl("LdapSettingsLayout")
owner: mainItem owner: mainItem
titleProperty: "server" titleProperty: "serverUrl"
supportsEnableDisable: true supportsEnableDisable: true
showAddButton: true showAddButton: true
} }

View file

@ -76,7 +76,7 @@ AbstractSettingsLayout {
Layout.leftMargin: 64 * DefaultStyle.dp Layout.leftMargin: 64 * DefaultStyle.dp
DecoratedTextField { DecoratedTextField {
id: server id: server
propertyName: "server" propertyName: "serverUrl"
propertyOwner: ldapGui.core propertyOwner: ldapGui.core
title: qsTr("URL du serveur (ne peut être vide)") title: qsTr("URL du serveur (ne peut être vide)")
toValidate: true toValidate: true
@ -117,7 +117,7 @@ AbstractSettingsLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
DecoratedTextField { DecoratedTextField {
propertyName: "maxResults" propertyName: "limit"
propertyOwner: ldapGui.core propertyOwner: ldapGui.core
validator: RegularExpressionValidator { regularExpression: /[0-9]+/ } validator: RegularExpressionValidator { regularExpression: /[0-9]+/ }
title: qsTr("Nombre maximum de résultats") title: qsTr("Nombre maximum de résultats")
@ -141,7 +141,7 @@ AbstractSettingsLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
DecoratedTextField { DecoratedTextField {
propertyName: "minChars" propertyName: "minCharacters"
propertyOwner: ldapGui.core propertyOwner: ldapGui.core
title: qsTr("Nombre minimum de caractères pour la requête") title: qsTr("Nombre minimum de caractères pour la requête")
validator: RegularExpressionValidator { regularExpression: /[0-9]+/ } validator: RegularExpressionValidator { regularExpression: /[0-9]+/ }

@ -1 +1 @@
Subproject commit 4e2af5b435cb7fd6aadc9cd2b7eb45ba547cf5e8 Subproject commit b9b42aff89f650a5a1bd67d45bddb7dcc1b60481