| #!/usr/bin/python3 |
| import sys |
| import dbus |
| |
| if len(sys.argv) < 2: |
| print("Usage: %s <SMSC address>" % (sys.argv[0])) |
| sys.exit(1) |
| |
| def message_service_center_address(sms, value): |
| try: |
| sms.SetProperty("ServiceCenterAddress", dbus.String(value)) |
| except dbus.DBusException as e: |
| print("Unable to set correct Service Center Address - FAIL") |
| exit(1) |
| |
| bus = dbus.SystemBus() |
| manager = dbus.Interface(bus.get_object('org.ofono', '/'),'org.ofono.Manager') |
| modems = manager.GetModems() |
| value = sys.argv[1] |
| |
| for path, properties in modems: |
| print("Setting SMSC for [ %s ]" % (path)) |
| |
| if "org.ofono.MessageManager" not in properties["Interfaces"]: |
| continue |
| |
| sms = dbus.Interface(bus.get_object('org.ofono', path), |
| 'org.ofono.MessageManager') |
| |
| message_service_center_address(sms, value) |
| print("SMSC address Updated for [ %s ]" % (path)) |