diff options
| author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2006-12-13 14:40:32 +0000 |
|---|---|---|
| committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2006-12-13 14:40:32 +0000 |
| commit | b70364f2a37e64585c53a72e36481407e375808c (patch) | |
| tree | 41e1004014cc54995bebb7c647232c5319aec60d /examples/example-signal-emitter.py | |
| parent | c874bb37093c39e3dcc974c7bff39a36e4f7202a (diff) | |
| download | dbus-python-b70364f2a37e64585c53a72e36481407e375808c.tar.gz | |
dbus/examples: Move to examples/ (it's not part of the library and isn't installed)
Diffstat (limited to 'examples/example-signal-emitter.py')
| -rw-r--r-- | examples/example-signal-emitter.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/example-signal-emitter.py b/examples/example-signal-emitter.py new file mode 100644 index 0000000..24384c1 --- /dev/null +++ b/examples/example-signal-emitter.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python + +usage = """Usage: +python example-signal-emitter.py & +python example-signal-recipient.py +python example-signal-recipient.py --exit-service +""" + +import gobject + +import dbus +import dbus.service +import dbus.mainloop.glib + +class TestObject(dbus.service.Object): + def __init__(self, conn, object_path='/com/example/TestService/object'): + dbus.service.Object.__init__(self, conn, object_path) + + @dbus.service.signal('com.example.TestService') + def HelloSignal(self, message): + # The signal is emitted when this method exits + # You can have code here if you wish + pass + + @dbus.service.method('com.example.TestService') + def emitHelloSignal(self): + #you emit signals by calling the signal's skeleton method + self.HelloSignal('Hello') + return 'Signal emitted' + + @dbus.service.method("com.example.TestService", + in_signature='', out_signature='') + def Exit(self): + loop.quit() + +if __name__ == '__main__': + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + + session_bus = dbus.SessionBus() + name = dbus.service.BusName('com.example.TestService', session_bus) + object = TestObject(session_bus) + + loop = gobject.MainLoop() + print "Running example signal emitter service." + print usage + loop.run() |
