summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKari Hormi <kari.hormi@qt.io>2019-06-19 15:25:36 +0300
committerKari Hormi <kari.hormi@qt.io>2019-06-19 15:44:00 +0300
commitde5d369c83df0f1de551d7766164c4c81e4b2a70 (patch)
tree7ac643b554c25823bab6b24e2c71da1f7f72298d
parent39306fd9bed4e82e152b00ae096c773c247822d7 (diff)
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 <ville.voutilainen@qt.io>
-rw-r--r--src/networksettings/connman/connmancommon.h1
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.cpp10
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.h5
-rw-r--r--src/networksettings/qnetworksettingsservice.cpp3
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<bool>(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);
}
/*!