summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2014-11-07 14:05:41 +1000
committerLorn Potter <lorn.potter@gmail.com>2014-11-07 10:12:23 +0100
commita61247723a7b8b371a7328d1d7ec5ca4a5ff3d84 (patch)
treedf920e4c5aec4a54aa4a70dbea4db516f942aced /src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
parent8a81319be1d0d9ceadc1b4f17a707c6db08dd280 (diff)
Make QtBearer networkmanager backend respond to wired cabling changes
Cabling changes can be detected right away, so we should act on that and change the configuration state. Change-Id: Ifa9709077215567001e11ab655208a2c1b090073 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp')
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
index 2d54fa3029..dd7000bfb8 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
@@ -609,12 +609,32 @@ bool QNetworkManagerInterfaceDeviceWired::carrier() const
return false;
}
+QStringList QNetworkManagerInterfaceDeviceWired::availableConnections()
+{
+ QStringList list;
+ if (propertyMap.contains("AvailableConnections")) {
+ const QDBusArgument &dbusArgs = propertyMap.value("Carrier").value<QDBusArgument>();
+ QDBusObjectPath path;
+ dbusArgs.beginArray();
+ while (!dbusArgs.atEnd()) {
+ dbusArgs >> path;
+ list << path.path();
+ }
+ dbusArgs.endArray();
+ }
+
+ return list;
+}
+
void QNetworkManagerInterfaceDeviceWired::propertiesSwap(QMap<QString,QVariant> map)
{
QMapIterator<QString, QVariant> i(map);
while (i.hasNext()) {
i.next();
propertyMap.insert(i.key(),i.value());
+ if (i.key() == QStringLiteral("Carrier")) {
+ Q_EMIT carrierChanged(i.value().toBool());
+ }
}
Q_EMIT propertiesChanged(map);
}
@@ -1231,24 +1251,20 @@ QDBusObjectPath QNetworkManagerConnectionActive::specificObject() const
return QDBusObjectPath();
}
-QList<QDBusObjectPath> QNetworkManagerConnectionActive::devices() const
+QStringList QNetworkManagerConnectionActive::devices() const
{
+ QStringList list;
if (propertyMap.contains("Devices")) {
const QDBusArgument &dbusArgs = propertyMap.value("Devices").value<QDBusArgument>();
QDBusObjectPath path;
- QList <QDBusObjectPath> list;
dbusArgs.beginArray();
while (!dbusArgs.atEnd()) {
dbusArgs >> path;
- list.append(path);
+ list.append(path.path());
}
dbusArgs.endArray();
-
- return list;
}
- QList<QDBusObjectPath> list;
- list << QDBusObjectPath();
return list;
}