| #!/usr/bin/python3 |
| |
| import sys |
| import dbus |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object('org.ofono', '/'), |
| 'org.ofono.Manager') |
| |
| if (len(sys.argv) == 1): |
| modem = None |
| modems = manager.GetModems() |
| for path, properties in modems: |
| if "org.ofono.VoiceCallManager" in properties["Interfaces"]: |
| modem = path |
| break |
| if (modem is None): |
| exit(2) |
| elif (len(sys.argv) == 2): |
| modem = sys.argv[1] |
| else: |
| print("Usage: %s [modem]" % (sys.argv[0])) |
| exit(1) |
| |
| modemapi = dbus.Interface(bus.get_object('org.ofono', modem), 'org.ofono.Modem') |
| properties = modemapi.GetProperties() |
| |
| if "org.ofono.VoiceCallManager" not in properties["Interfaces"]: |
| print("org.ofono.VoiceCallManager not found") |
| exit(2) |
| |
| print("[ %s ]" % (modem)) |
| |
| mgr = dbus.Interface(bus.get_object('org.ofono', modem), |
| 'org.ofono.VoiceCallManager') |
| |
| mgr.ReleaseAndSwap() |
| |