mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-23 03:40:08 +01:00
method for doing async calls (_pending_call_notification): New C function for handling pendning call callbacks (set_notify): New method for setting pending call notification * python/dbus.py: new version tuple "version" is set at (0, 40, 0) Async capabilities added to remote method calls (Sender): class removed (RemoteService): class removed (ObjectTree): class removed for now (RemoteObject): Renamed to ProxyObject (RemoteMethod): Renamed to ProxyMethod (method): Decorator added for decorating python methods as dbus methods (signal): Decorator added for decorating python methods as signal emitters (ObjectType): Metaclass added for generating introspection data and the method callback vtable (Interface): Wrapper class added to wrap objects in a dbus interface (Object): Uses ObjectType as its metaclass and exports Introspect of the org.freedesktop.DBus.Introspectable interface (ValidationException, UnknownMethodException): new exceptions * python/examples/*: Modified to fit with the new bindings
30 lines
769 B
Python
30 lines
769 B
Python
import gtk
|
|
import dbus
|
|
import gobject
|
|
|
|
def handle_reply(msg):
|
|
print msg
|
|
|
|
def handle_error(e):
|
|
print str(e)
|
|
|
|
def emit_signal():
|
|
#call the emitHelloSignal method async
|
|
object.emitHelloSignal(dbus_interface="org.designfu.TestService",
|
|
reply_handler = handle_reply, error_handler = handle_error)
|
|
return True
|
|
|
|
bus = dbus.SessionBus()
|
|
object = bus.get_object("org.designfu.TestService","/org/designfu/TestService/object")
|
|
|
|
def hello_signal_handler(hello_string):
|
|
print ("Received signal and it says: " + hello_string)
|
|
|
|
object.connect_to_signal("HelloSignal", hello_signal_handler, dbus_interface="org.designfu.TestService")
|
|
|
|
gobject.timeout_add(2000, emit_signal)
|
|
|
|
# Tell the remote object to emit the signal
|
|
|
|
gtk.main()
|
|
|