summaryrefslogtreecommitdiff
path: root/examples/example-signal-emitter.py
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2006-12-13 14:40:32 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2006-12-13 14:40:32 +0000
commitb70364f2a37e64585c53a72e36481407e375808c (patch)
tree41e1004014cc54995bebb7c647232c5319aec60d /examples/example-signal-emitter.py
parentc874bb37093c39e3dcc974c7bff39a36e4f7202a (diff)
downloaddbus-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.py46
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()