summaryrefslogtreecommitdiffstats
path: root/python/examples/example-signal-emitter.py
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2005-04-25 22:54:28 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2005-04-25 22:54:28 +0000
commit8d40569d8a5adcd793d544bef29634ba34bf1717 (patch)
treeb7c2a6edc4ebf8e08f7f857b9d32e8e3ca9d7b99 /python/examples/example-signal-emitter.py
parent64f3d8f67db09e0c84ed3ff009b86d0127fe82b4 (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-emitter.py')
-rw-r--r--python/examples/example-signal-emitter.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/python/examples/example-signal-emitter.py b/python/examples/example-signal-emitter.py
index bcd5ad6f..8797e5f6 100644
--- a/python/examples/example-signal-emitter.py
+++ b/python/examples/example-signal-emitter.py
@@ -3,13 +3,20 @@ import gtk
class TestObject(dbus.Object):
def __init__(self, service):
- dbus.Object.__init__(self, "/org/designfu/TestService/object", service, [self.emitHelloSignal])
+ dbus.Object.__init__(self, "/org/designfu/TestService/object", service)
- def emitHelloSignal(self, message):
- # Emit the signal
- self.emit_signal(interface="org.designfu.TestService",
- signal_name="hello")
+ @dbus.signal('org.designfu.TestService')
+ def HelloSignal(self, message):
+ # The signal is emitted when this method exits
+ # You can have code here if you wish
+ pass
+ @dbus.method('org.designfu.TestService')
+ def emitHelloSignal(self):
+ #you emit signals by calling the signal's skeleton method
+ self.HelloSignal("Hello")
+ return "Signal emitted"
+
session_bus = dbus.SessionBus()
service = dbus.Service("org.designfu.TestService", bus=session_bus)
object = TestObject(service)