If it doesn't need to be 2008.8, then you might want to give the frameworkd a
try, which has been written for exactly these things. There, it would be as
simple as (python example, but works with all kinds of languages of course):
import dbus, dbus.mainloop, gobject
actions = { \
"+491001":"/usr/bin/foo1",
"+491002":"/usr/bin/foo2",
"+491003":"/usr/bin/foo3" }
def onCallStatus( index, status, properties ):
if status == "incoming":
try:
action = actions[properties["number"]]
except KeyError:
pass
else:
subprocess.Popen( action, shell=True )
dbus.mainloop.glib.DBusGMainLoop( set_as_default=True )
mainloop = gobject.MainLoop()
bus = dbus.SystemBus()
bus.add_signal_receiver(
onCallStatus, "CallStatus", "org.freesmartphone.GSM.Call",
"org.freesmartphone.ogsmd", "/org/freesmartphone/GSM/Device" )
mainloop.run()
--
:M:
_______________________________________________
Openmoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community