summaryrefslogtreecommitdiffstats
path: root/src/networksettings/qnetworksettingsmanager.cpp
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2019-08-06 10:08:05 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2019-08-07 13:47:17 +0300
commiteda53febdee5bbeddd2c59bd4a107fbd92b38356 (patch)
treecb1f10b65e2359da335d64cebc5933f3fce3e12e /src/networksettings/qnetworksettingsmanager.cpp
parent12a115e06ac6cf24b79369cf435216ab0004e0c4 (diff)
Add an example snippet to Network settings manager class
The NetworkSettingsManager class documentation is updated with an example code snippet. Task-number: QTBUG-76810 Change-Id: Ic02109332281357c941dec77fe2995988cbc9359 Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Diffstat (limited to 'src/networksettings/qnetworksettingsmanager.cpp')
-rw-r--r--src/networksettings/qnetworksettingsmanager.cpp42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/networksettings/qnetworksettingsmanager.cpp b/src/networksettings/qnetworksettingsmanager.cpp
index c7c2230..667004f 100644
--- a/src/networksettings/qnetworksettingsmanager.cpp
+++ b/src/networksettings/qnetworksettingsmanager.cpp
@@ -41,7 +41,8 @@ QT_BEGIN_NAMESPACE
\class QNetworkSettingsManager
\inmodule QtNetworkSettings
- \brief The QNetworkSettingsManager class manages network settings.
+ \brief The QNetworkSettingsManager class provides an asynchronous API to
+ network settings.
The network manager is designed to be used as a model that contains lists
of available network interfaces and services.
@@ -53,6 +54,45 @@ QT_BEGIN_NAMESPACE
\l QNetworkSettingsType::type property, and network service items can be
retrieved with the \l QNetworkSettingsServiceFilter::itemFromRow() method.
+ The following code demonstrates how you initialize the network manager:
+
+ \code
+ manager = new QNetworkSettingsManager(this);
+ QObject::connect(manager, &QNetworkSettingsManager::interfacesChanged,
+ this, &MainWindow::interfacesChanged);
+
+ QObject::connect(manager, &QNetworkSettingsManager::servicesChanged,
+ this, &MainWindow::servicesChanged);
+ \endcode
+
+ After initializing the network manager, you can iterate WiFi SSIDs as follows:
+
+ \code
+ void WifiHandler::servicesChanged()
+ {
+ QList<QNetworkSettingsService*> services = qobject_cast<QNetworkSettingsServiceModel*>(manager->services()->sourceModel())->getModel();
+
+ for (const auto &service : services) {
+ qDebug() << service->name();
+ }
+ }
+
+
+ void WifiHandler::interfacesChanged()
+ {
+ QList<QNetworkSettingsInterface*> interfaces = manager->interfaces()->getModel();
+ for (const auto &interface : interfaces) {
+ if (interface->type() == QNetworkSettingsType::Types::Wifi) {
+ if (interface->powered()) {
+ interface->scanServices();
+ } else {
+ interface->setPowered(true);
+ }
+ }
+ }
+ }
+ \endcode
+
\sa QNetworkSettingsService
*/