diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2014-11-07 14:05:41 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2014-11-07 10:12:23 +0100 |
commit | a61247723a7b8b371a7328d1d7ec5ca4a5ff3d84 (patch) | |
tree | df920e4c5aec4a54aa4a70dbea4db516f942aced /src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp | |
parent | 8a81319be1d0d9ceadc1b4f17a707c6db08dd280 (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.cpp | 30 |
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; } |