summaryrefslogtreecommitdiffstats
path: root/src/networksettings/qnetworksettingsmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/networksettings/qnetworksettingsmanager.cpp')
-rw-r--r--src/networksettings/qnetworksettingsmanager.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/networksettings/qnetworksettingsmanager.cpp b/src/networksettings/qnetworksettingsmanager.cpp
index 71aa081..cda66e7 100644
--- a/src/networksettings/qnetworksettingsmanager.cpp
+++ b/src/networksettings/qnetworksettingsmanager.cpp
@@ -32,6 +32,7 @@
#include "qnetworksettingsinterface.h"
#include "qnetworksettingsinterfacemodel.h"
#include "qnetworksettingsmanager_p.h"
+#include "qnetworksettingsuseragent.h"
#include <QStringListModel>
QT_BEGIN_NAMESPACE
@@ -66,6 +67,55 @@ QNetworkSettingsService* QNetworkSettingsManager::service(const QString& name, i
return nullptr;
}
+void QNetworkSettingsManager::connectBySsid(const QString &name, const QString &passphrase)
+{
+ Q_D(QNetworkSettingsManager);
+ QNetworkSettingsUserAgent* agent = userAgent();
+ if (agent)
+ agent->setSsidAndPassphrase(name, passphrase);
+ d->connectBySsid(name);
+}
+
+void QNetworkSettingsManager::clearConnectionState()
+{
+ Q_D(QNetworkSettingsManager);
+ d->clearConnectionState();
+ QNetworkSettingsUserAgent* agent = userAgent();
+ if (agent)
+ agent->clearConnectionState();
+}
+
+void QNetworkSettingsManager::tryNextConnection()
+{
+ Q_D(QNetworkSettingsManager);
+ d->tryNextConnection();
+}
+
+void QNetworkSettingsManager::clearCurrentWifiConnection(QNetworkSettingsService* service)
+{
+ Q_D(QNetworkSettingsManager);
+ QNetworkSettingsService *currentService = d->currentWifiConnection();
+ if (service == currentService) {
+ d->setCurrentWifiConnection(nullptr);
+ emit currentWifiConnectionChanged();
+ }
+}
+
+void QNetworkSettingsManager::setCurrentWifiConnection(QNetworkSettingsService* service)
+{
+ Q_D(QNetworkSettingsManager);
+ QNetworkSettingsService *currentService = d->currentWifiConnection();
+ d->setCurrentWifiConnection(service);
+ if (service != currentService)
+ emit currentWifiConnectionChanged();
+}
+
+QNetworkSettingsService* QNetworkSettingsManager::currentWifiConnection()
+{
+ Q_D(QNetworkSettingsManager);
+ return d->currentWifiConnection();
+}
+
QNetworkSettingsInterface* QNetworkSettingsManager::interface(int type, int instance)
{
Q_D(QNetworkSettingsManager);
@@ -86,6 +136,8 @@ void QNetworkSettingsManager::setUserAgent(QNetworkSettingsUserAgent *agent)
{
Q_D(QNetworkSettingsManager);
d->setUserAgent(agent);
+ connect(agent, &QNetworkSettingsUserAgent::requestNextConnection,
+ this, &QNetworkSettingsManager::tryNextConnection);
}
QNetworkSettingsUserAgent* QNetworkSettingsManager::userAgent()