7 from dbus.mainloop.glib import DBusGMainLoop
8 DBusGMainLoop(set_as_default=True)
10 def onCallStatus(sender = "", *args, **kwargs):
12 if (args[1].has_key("peer")):
13 caller = str(args[1]["peer"])
24 bus = dbus.SystemBus()
26 usage_obj = bus.get_object("org.freesmartphone.ousaged", "/org/freesmartphone/Usage")
27 usage_iface = dbus.Interface(usage_obj, "org.freesmartphone.Usage")
28 usage_iface.RequestResource("GSM")
30 gsm_device_obj = bus.get_object("org.freesmartphone.ogsmd", "/org/freesmartphone/GSM/Device")
31 gsm_device_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.Device")
32 gsm_call_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.Call")
34 print "Set Functionality: full"
35 gsm_device_iface.SetFunctionality("full", True, "")
37 gsm_call_iface.connect_to_signal('CallStatus', onCallStatus)
39 id = gsm_call_iface.Initiate(number, "voice")
42 gsm_call_iface.Release(id)
44 gsm_device_iface.SetFunctionality("minimal", True, "")
45 usage_iface.ReleaseResource("GSM")
47 if __name__ == "__main__":
49 if len(sys.argv) != 2:
50 sys.stderr.write("usage: %s <number>\n")