diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2014-11-04 17:59:24 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2014-11-06 20:00:15 +0100 |
commit | 999fa634829bf90e939f2fc14678a842eb49c75e (patch) | |
tree | d0aa66f9a15616eec4e4ec05c53b4b766e0c667d /src/plugins/bearer/linux_common | |
parent | 13401116cce64bc7f2cf80b07ce34a4ad3abe829 (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.cpp | 9 | ||||
-rw-r--r-- | src/plugins/bearer/linux_common/qofonoservice_linux_p.h | 1 |
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; |