diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2005-04-25 22:54:28 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2005-04-25 22:54:28 +0000 |
commit | 8d40569d8a5adcd793d544bef29634ba34bf1717 (patch) | |
tree | b7c2a6edc4ebf8e08f7f857b9d32e8e3ca9d7b99 /python/examples/example-signal-recipient.py | |
parent | 64f3d8f67db09e0c84ed3ff009b86d0127fe82b4 (diff) |
* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
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
Diffstat (limited to 'python/examples/example-signal-recipient.py')
-rw-r--r-- | python/examples/example-signal-recipient.py | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/python/examples/example-signal-recipient.py b/python/examples/example-signal-recipient.py index b5306070..2da65ecb 100644 --- a/python/examples/example-signal-recipient.py +++ b/python/examples/example-signal-recipient.py @@ -1,19 +1,30 @@ 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() -service = bus.get_service("org.designfu.TestService") -object = service.get_object("/org/designfu/TestService/object", "org.designfu.TestService") +object = bus.get_object("org.designfu.TestService","/org/designfu/TestService/object") -def hello_signal_handler(sender): - print ("Received signal '%s.%s' from object '%s%s'" - % (sender.interface, sender.signal_name, sender.service, sender.path)) +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") -object.connect_to_signal("hello", hello_signal_handler) +gobject.timeout_add(2000, emit_signal) # Tell the remote object to emit the signal -object.emitHelloSignal() gtk.main() |