summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/bearer/linux_common/qofonoservice_linux.cpp')
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp9
1 files changed, 8 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()) {