mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-22 23:00:08 +01:00
* python/dbus.py: Add "message" argument to service-side dbus.Object methods. This will break existing services written using the python bindings, but will allow extraction of all the message information (e.g. who its from). Add improved "object oriented" signal handling/emission. * python/examples/example-service.py: Nix this example. * python/examples/example-signal-emitter.py: * python/examples/example-signal-recipient.py: Two new examples that show how to emit and receive signals using the new APIs. * python/examples/example-signals.py: * python/examples/gconf-proxy-service.py: * python/examples/gconf-proxy-service2.py: Add "message" argument to service methods.
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
import dbus
|
|
|
|
import gtk
|
|
import gconf
|
|
|
|
class GConfService(dbus.Service):
|
|
|
|
def __init__(self):
|
|
dbus.Service.__init__(self, "org.gnome.GConf", dbus.SessionBus())
|
|
|
|
gconf_object_tree = self.GConfObjectTree(self)
|
|
|
|
class GConfObjectTree(dbus.ObjectTree):
|
|
def __init__(self, service):
|
|
dbus.ObjectTree.__init__(self, "/org/gnome/GConf", service, dbus_methods=[ self.getString, self.setString, self.getInt, self.setInt ])
|
|
|
|
self.client = gconf.client_get_default()
|
|
|
|
def getString(self, message, object_path):
|
|
print ("getString called on GConf key %s" % (object_path))
|
|
return self.client.get_string(object_path)
|
|
|
|
def setString(self, message, object_path, new_value):
|
|
print ("setString called on GConf key %s" % (object_path))
|
|
self.client.set_string(object_path, new_value)
|
|
|
|
def getInt(self, message, object_path):
|
|
print ("getInt called on GConf key %s" % (object_path))
|
|
return self.client.get_int(object_path)
|
|
|
|
def setInt(self, message, object_path, new_value):
|
|
print ("setInt called on GConf key %s" % (object_path))
|
|
self.client.set_int(object_path, new_value)
|
|
|
|
gconf_service = GConfService()
|
|
|
|
print ("GConf Proxy service started.")
|
|
print ("Run 'gconf-proxy-client.py' to fetch a GConf key through the proxy...")
|
|
|
|
gtk.main()
|