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.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
*/