15 #call the emitHelloSignal method
16 object.emitHelloSignal(dbus_interface
="org.designfu.TestService")
17 #reply_handler = handle_reply, error_handler = handle_error)
20 bus
= dbus
.SessionBus()
21 object = bus
.get_object("org.designfu.TestService","/org/designfu/TestService/object")
23 def hello_signal_handler(hello_string
):
24 print ("Received signal and it says: " + hello_string
)
26 @dbus.decorators
.explicitly_pass_message
27 def catchall_signal_handler(*args
, **keywords
):
28 #The dbus.handler directive passes in the special __dbus_message__ variable
29 dbus_message
= keywords
["dbus_message"]
30 print "Caught signal " + dbus_message
.get_member()
34 def catchall_hello_signals_handler(hello_string
):
35 print ("Received a hello signal and it says ") + hello_string
37 @dbus.decorators
.explicitly_pass_message
38 def catchall_testservice_interface_handler(hello_string
, dbus_message
):
39 print "org.designfu.TestService interface says " + hello_string
+ " when it sent signal " + dbus_message
.get_member()
41 object.connect_to_signal("HelloSignal", hello_signal_handler
, dbus_interface
="org.designfu.TestService", arg0
="Hello")
44 bus
.add_signal_receiver(catchall_signal_handler
)
45 bus
.add_signal_receiver(catchall_hello_signals_handler
, dbus_interface
= "org.designfu.TestService", signal_name
= "HelloSignal")
46 bus
.add_signal_receiver(catchall_testservice_interface_handler
, dbus_interface
= "org.designfu.TestService")
49 gobject
.timeout_add(2000, emit_signal
)
51 # Tell the remote object to emit the signal
53 loop
= gobject
.MainLoop()