aboutsummaryrefslogtreecommitdiff
path: root/src/ppm/modemproxy.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ppm/modemproxy.py')
-rw-r--r--src/ppm/modemproxy.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ppm/modemproxy.py b/src/ppm/modemproxy.py
index 31aa802..3943b7f 100644
--- a/src/ppm/modemproxy.py
+++ b/src/ppm/modemproxy.py
@@ -25,7 +25,6 @@ MM_DBUS_TIMEOUT = 5000
MM_DBUS_FLAGS = (Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES |
Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS)
-
class ModemError(Exception):
def __init__(self, msg):
self.msg = msg
@@ -41,6 +40,8 @@ class Modem(GObject.GObject):
MM_DBUS_INTERFACE_MODEM = 'org.freedesktop.ModemManager1.Modem'
MM_DBUS_INTERFACE_MODEM_GSM_USSD = "{}.Modem3gpp.Ussd".format(MM_DBUS_INTERFACE_MODEM)
+ MM_STATE_ENABLED = 6
+
def on_new_proxy_done(self, proxy, res, iface_name):
try:
_proxy = proxy.new_for_bus_finish(res)
@@ -55,7 +56,7 @@ class Modem(GObject.GObject):
self._modem_proxy = None
Gio.DBusProxy.new_for_bus(Gio.BusType.SYSTEM,
- MM_DBUS_FLAGS,
+ Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS,
None,
MM_DBUS_SERVICE,
self.path,
@@ -87,6 +88,11 @@ class Modem(GObject.GObject):
def ussd_proxy(self):
return self._ussd_proxy
+ @property
+ def enabled(self):
+ variant = self.modem_proxy.get_cached_property("State")
+ return variant.get_int32() >= self.MM_STATE_ENABLED
+
class ModemManagerProxy(GObject.GObject):
"""Interface to ModemManager DBus API