4 python example-service.py &
5 python example-client.py
6 python example-async-client.py
7 python example-client.py --exit-service
14 import dbus
.mainloop
.glib
16 class DemoException(dbus
.DBusException
):
17 _dbus_error_name
= 'com.example.DemoException'
19 class SomeObject(dbus
.service
.Object
):
21 @dbus.service
.method("com.example.SampleInterface",
22 in_signature
='s', out_signature
='as')
23 def HelloWorld(self
, hello_message
):
24 print (str(hello_message
))
25 return ["Hello", " from example-service.py", "with unique name",
26 session_bus
.get_unique_name()]
28 @dbus.service
.method("com.example.SampleInterface",
29 in_signature
='', out_signature
='')
30 def RaiseException(self
):
31 raise DemoException('The RaiseException method does what you might '
34 @dbus.service
.method("com.example.SampleInterface",
35 in_signature
='', out_signature
='(ss)')
37 return ("Hello Tuple", " from example-service.py")
39 @dbus.service
.method("com.example.SampleInterface",
40 in_signature
='', out_signature
='a{ss}')
42 return {"first": "Hello Dict", "second": " from example-service.py"}
44 @dbus.service
.method("com.example.SampleInterface",
45 in_signature
='', out_signature
='')
50 if __name__
== '__main__':
51 dbus
.mainloop
.glib
.DBusGMainLoop(set_as_default
=True)
53 session_bus
= dbus
.SessionBus()
54 name
= dbus
.service
.BusName("com.example.SampleService", session_bus
)
55 object = SomeObject(session_bus
, '/SomeObject')
57 mainloop
= gobject
.MainLoop()
58 print "Running example service."