From de5d369c83df0f1de551d7766164c4c81e4b2a70 Mon Sep 17 00:00:00 2001 From: Kari Hormi Date: Wed, 19 Jun 2019 15:25:36 +0300 Subject: Implement setAutoConnect() function This commit strictly implements the setAutoConnect function, but does not provide anything else. AutoConnect status query should still be implemented. Task-number: QTBUG-75729 Change-Id: I73e7ba9efe7c4efe6e46810c3efe054473f0a7e2 Reviewed-by: Ville Voutilainen --- src/networksettings/connman/connmancommon.h | 1 + src/networksettings/connman/qnetworksettingsservice_p.cpp | 10 ++++++++++ src/networksettings/connman/qnetworksettingsservice_p.h | 5 +++-- src/networksettings/qnetworksettingsservice.cpp | 3 ++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/networksettings/connman/connmancommon.h b/src/networksettings/connman/connmancommon.h index 442730f..3c8aa67 100644 --- a/src/networksettings/connman/connmancommon.h +++ b/src/networksettings/connman/connmancommon.h @@ -39,6 +39,7 @@ #define PropertyType QStringLiteral("Type") #define PropertyConnected QStringLiteral("Connected") #define PropertyPowered QStringLiteral("Powered") +#define PropertyAutoConnect QStringLiteral("AutoConnect") #define AttributeWifi QStringLiteral("wifi") #define AttributeEthernet QStringLiteral("ethernet") diff --git a/src/networksettings/connman/qnetworksettingsservice_p.cpp b/src/networksettings/connman/qnetworksettingsservice_p.cpp index b56c1e6..f1073e7 100644 --- a/src/networksettings/connman/qnetworksettingsservice_p.cpp +++ b/src/networksettings/connman/qnetworksettingsservice_p.cpp @@ -260,6 +260,12 @@ QNetworkSettingsServicePrivate::QNetworkSettingsServicePrivate(const QString& id this, SLOT(propertiesUpdated(QDBusPendingCallWatcher*))); } +void QNetworkSettingsServicePrivate::setAutoConnect(bool autoconnect) +{ + if (m_service) + m_service->SetProperty(PropertyAutoConnect, QDBusVariant(QVariant(autoconnect))); +} + void QNetworkSettingsServicePrivate::setupIpv6Config() { QVariantMap param; @@ -440,6 +446,10 @@ void QNetworkSettingsServicePrivate::updateProperty(const QString& key, const QV } } } + else if (key == PropertyAutoConnect) { + m_autoConnect = qdbus_cast(val); + //TODO: create appropriate signals for when the property has changed + } } void QNetworkSettingsServicePrivate::setupConfiguration(const QVariantMap &properties) diff --git a/src/networksettings/connman/qnetworksettingsservice_p.h b/src/networksettings/connman/qnetworksettingsservice_p.h index 362aea4..c62bcf2 100644 --- a/src/networksettings/connman/qnetworksettingsservice_p.h +++ b/src/networksettings/connman/qnetworksettingsservice_p.h @@ -68,7 +68,7 @@ private: void updateProperty(const QString& key, const QVariant& value); protected: - void setAutoConnect(const bool autoconnect); + void setAutoConnect(bool autoconnect); void setupIpv4Config(); void setupIpv6Config(); void setupNameserversConfig(); @@ -91,7 +91,8 @@ protected: QNetworkSettingsWireless m_wifiConfig; QNetworkSettingsType m_type; NetConnmanServiceInterface *m_service; - bool m_placeholderState; + bool m_placeholderState = false; + bool m_autoConnect = false; }; QT_END_NAMESPACE diff --git a/src/networksettings/qnetworksettingsservice.cpp b/src/networksettings/qnetworksettingsservice.cpp index 150b54d..3bd1c26 100644 --- a/src/networksettings/qnetworksettingsservice.cpp +++ b/src/networksettings/qnetworksettingsservice.cpp @@ -196,7 +196,8 @@ QString QNetworkSettingsService::name() const */ void QNetworkSettingsService::setAutoConnect(const bool autoconnect) { - Q_UNUSED(autoconnect); + Q_D(QNetworkSettingsService); + d->setAutoConnect(autoconnect); } /*! -- cgit v1.2.3