8 from dbus.mainloop.glib import DBusGMainLoop
11 from onoff.common import ST_ACTIVE
13 def wait_for_signal(proxy, signal):
14 loop = gobject.MainLoop()
19 proxy.connect_to_signal(signal, callback)
24 s1, s2 = socket.socketpair()
25 DBusGMainLoop(set_as_default=True)
26 bus = dbus.SessionBus()
27 proxy = bus.get_object("de.subdivi.onoff", "/de/subdivi/onoff/5")
29 st = proxy.activatefd(dbus.types.UnixFd(s1), 10)
31 os.dup2(s2.fileno(), 254)
34 print("state is %d waiting for signal" % st)
35 st = wait_for_signal(proxy, "state")
36 print("new state is %d" % st)
37 os.execvp(sys.argv[1], sys.argv[1:])
39 st = proxy.activatetime(10)
41 print("state is %d waiting for signal" % st)
42 st = wait_for_signal(proxy, "state")
43 print("new state is %d" % st)
45 if __name__ == "__main__":