diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2019-08-06 10:08:05 +0300 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2019-08-07 13:47:17 +0300 |
commit | eda53febdee5bbeddd2c59bd4a107fbd92b38356 (patch) | |
tree | cb1f10b65e2359da335d64cebc5933f3fce3e12e /src/networksettings/qnetworksettingsmanager.cpp | |
parent | 12a115e06ac6cf24b79369cf435216ab0004e0c4 (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.cpp | 42 |
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 */ |