summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/linux_common
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2014-11-04 17:59:24 +1000
committerLorn Potter <lorn.potter@gmail.com>2014-11-06 20:00:15 +0100
commit999fa634829bf90e939f2fc14678a842eb49c75e (patch)
treed0aa66f9a15616eec4e4ec05c53b4b766e0c667d /src/plugins/bearer/linux_common
parent13401116cce64bc7f2cf80b07ce34a4ad3abe829 (diff)
Support dual sim in QtBearer's networkmanager backend
Task-number: QTBUG-42368 Change-Id: I306733b5de7871fdeaa0accb512a3610753c84a5 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'src/plugins/bearer/linux_common')
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp9
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux_p.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
index e994ebf2ce..b2e2131a92 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
@@ -112,7 +112,8 @@ QString QOfonoManagerInterface::currentModem()
QStringList modems = getModems();
foreach (const QString &modem, modems) {
QOfonoModemInterface device(modem);
- if (device.isPowered() && device.isOnline())
+ if (device.isPowered() && device.isOnline()
+ && device.interfaces().contains(QStringLiteral("org.ofono.NetworkRegistration")))
return modem;
}
return QString();
@@ -169,6 +170,12 @@ bool QOfonoModemInterface::isOnline()
return qdbus_cast<bool>(var);
}
+QStringList QOfonoModemInterface::interfaces()
+{
+ const QVariant var = getProperty(QStringLiteral("Interfaces"));
+ return var.toStringList();
+}
+
QVariantMap QOfonoModemInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h b/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
index 2b3d43deb5..0ed00d94ff 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
@@ -115,6 +115,7 @@ public:
bool isPowered();
bool isOnline();
+ QStringList interfaces();
private:
QVariantMap getProperties();
QVariantMap propertiesMap;