7 from dbus.mainloop.glib import DBusGMainLoop
8 DBusGMainLoop(set_as_default=True)
11 gsm_device_iface = None
12 loop = gobject.MainLoop()
14 def onDeviceStatus(status):
15 print "DeviceStatus:", status
16 if status == "alive-sim-locked":
17 gsm_device_iface.SetFunctionality("full", True, pin)
18 elif status == "alive-sim-ready":
20 elif status == "alive-registered":
24 global gsm_device_iface
27 bus = dbus.SystemBus()
29 usage_obj = bus.get_object("org.freesmartphone.ousaged", "/org/freesmartphone/Usage")
30 usage_iface = dbus.Interface(usage_obj, "org.freesmartphone.Usage")
32 gsm_device_obj = bus.get_object("org.freesmartphone.ogsmd", "/org/freesmartphone/GSM/Device")
33 gsm_device_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.Device")
35 gsm_device_iface.connect_to_signal('DeviceStatus', onDeviceStatus)
37 usage_iface.RequestResource("GSM")
39 print "starting the main loop"
42 except KeyboardInterrupt:
46 gsm_device_iface.SetFunctionality("minimal", True, "")
47 usage_iface.ReleaseResource("GSM")
49 if __name__ == "__main__":
51 if len(sys.argv) != 2:
52 sys.stderr.write("usage: %s <pin>\n")