summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp')
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
index dc3b71ec8e..fad94f069d 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
@@ -688,6 +688,15 @@ QNetworkManagerInterfaceDeviceWireless::QNetworkManagerInterfaceDeviceWireless(c
QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRELESS),
QLatin1String("PropertiesChanged"),
this,SLOT(propertiesSwap(QMap<QString,QVariant>)));
+
+ QDBusPendingReply<QList<QDBusObjectPath> > reply
+ = d->connectionInterface->asyncCall(QLatin1String("GetAccessPoints"));
+
+ QDBusPendingCallWatcher *callWatcher = new QDBusPendingCallWatcher(reply);
+ connect(callWatcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
+ this, SLOT(accessPointsFinished(QDBusPendingCallWatcher*)));
+
+
d->valid = true;
}
@@ -749,6 +758,19 @@ bool QNetworkManagerInterfaceDeviceWireless::setConnections()
return allOk;
}
+void QNetworkManagerInterfaceDeviceWireless::accessPointsFinished(QDBusPendingCallWatcher *watcher)
+{
+ QDBusPendingReply<QList<QDBusObjectPath> > reply(*watcher);
+ watcher->deleteLater();
+ if (!reply.isError()) {
+ accessPointsList = reply.value();
+ }
+
+ for (int i = 0; i < accessPointsList.size(); i++) {
+ Q_EMIT accessPointAdded(accessPointsList.at(i).path());
+ }
+}
+
QDBusInterface *QNetworkManagerInterfaceDeviceWireless::connectionInterface() const
{
return d->connectionInterface;