examples,modem-watcher-python: also monitor modem state updates
$ sudo ./modem-watcher-python [ModemWatcher] ModemManager 1.16.6 service is available in bus [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem managed by ModemManager [015805000283080]: foxconn (MBIM [105B:E0AB]) [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state updated: disabled -> enabling (user-requested) [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state updated: enabling -> enabled (user-requested) [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state updated: enabled -> registered (unknown)
This commit is contained in:
@@ -84,23 +84,35 @@ class ModemWatcher:
|
||||
else:
|
||||
self.set_unavailable()
|
||||
|
||||
def on_modem_state_updated(self, modem, old, new, reason):
|
||||
"""
|
||||
Modem state updated
|
||||
"""
|
||||
print('[ModemWatcher] %s: modem state updated: %s -> %s (%s) ' %
|
||||
(modem.get_object_path(),
|
||||
ModemManager.ModemState.get_string (old),
|
||||
ModemManager.ModemState.get_string (new),
|
||||
ModemManager.ModemStateChangeReason.get_string (reason)))
|
||||
|
||||
def on_object_added(self, manager, obj):
|
||||
"""
|
||||
Object added.
|
||||
"""
|
||||
modem = obj.get_modem()
|
||||
print('[ModemWatcher] %s (%s) modem managed by ModemManager [%s]: %s' %
|
||||
(modem.get_manufacturer(),
|
||||
modem.get_model(),
|
||||
print('[ModemWatcher] %s: modem managed by ModemManager [%s]: %s (%s)' %
|
||||
(obj.get_object_path(),
|
||||
modem.get_equipment_identifier(),
|
||||
obj.get_object_path()))
|
||||
modem.get_manufacturer(),
|
||||
modem.get_model()))
|
||||
if modem.get_state() == ModemManager.ModemState.FAILED:
|
||||
print('[ModemWatcher] ignoring failed modem: %s' %
|
||||
print('[ModemWatcher] %s: ignoring failed modem' %
|
||||
obj.get_object_path())
|
||||
else:
|
||||
modem.connect('state-changed', self.on_modem_state_updated)
|
||||
|
||||
def on_object_removed(self, manager, obj):
|
||||
"""
|
||||
Object removed.
|
||||
"""
|
||||
print('[ModemWatcher] modem unmanaged by ModemManager: %s' %
|
||||
print('[ModemWatcher] %s: modem unmanaged by ModemManager' %
|
||||
obj.get_object_path())
|
||||
|
Reference in New Issue
Block a user