mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-22 23:00:08 +01:00
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
27 lines
767 B
Python
27 lines
767 B
Python
import dbus
|
|
|
|
import pygtk
|
|
import gtk
|
|
|
|
class SomeObject(dbus.Object):
|
|
def __init__(self, service):
|
|
dbus.Object.__init__(self, "/SomeObject", service)
|
|
|
|
@dbus.method("org.designfu.SampleInterface")
|
|
def HelloWorld(self, hello_message):
|
|
print (str(hello_message))
|
|
return ["Hello", " from example-service.py"]
|
|
|
|
@dbus.method("org.designfu.SampleInterface")
|
|
def GetTuple(self):
|
|
return ("Hello Tuple", " from example-service.py")
|
|
|
|
@dbus.method("org.designfu.SampleInterface")
|
|
def GetDict(self):
|
|
return {"first": "Hello Dict", "second": " from example-service.py"}
|
|
|
|
session_bus = dbus.SessionBus()
|
|
service = dbus.Service("org.designfu.SampleService", bus=session_bus)
|
|
object = SomeObject(service)
|
|
|
|
gtk.main()
|