dbus/python/examples gconf-proxy-client.py, NONE,
1.1 gconf-proxy-service.py, NONE, 1.1 Makefile.am, 1.1, 1.2
Seth Nickell
seth at pdx.freedesktop.org
Sat May 29 19:26:50 PDT 2004
Update of /cvs/dbus/dbus/python/examples
In directory pdx:/tmp/cvs-serv28412/python/examples
Modified Files:
Makefile.am
Added Files:
gconf-proxy-client.py gconf-proxy-service.py
Log Message:
2004-05-29 Seth Nickell <seth at gnome.org>
* python/dbus.py:
Add ObjectTree class which allows implementation
of trees of "virtual" objects. Basically the python
wrapper for "register_fallback".
* python/examples/Makefile.am
* python/examples/gconf-proxy-client.py:
* python/examples/gconf-proxy-service.py:
Implement a simple GConf proxy service that supports
get/set on string and int GConf keys using the ObjectTree.
--- NEW FILE: gconf-proxy-client.py ---
import dbus
gconf_key = "/desktop/gnome/file_views/icon_theme"
bus = dbus.SessionBus()
gconf_service = bus.get_service("org.gnome.GConf")
gconf_key_object = gconf_service.get_object("/org/gnome/GConf" + gconf_key, "org.gnome.GConf")
value = gconf_key_object.getString()
print ("Value of GConf key %s is %s" % (gconf_key, value))
--- NEW FILE: gconf-proxy-service.py ---
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)
self.client = gconf.client_get_default()
def object_method_called(self, object_path, method_name, argument_list):
print ("Method %s called on GConf key %s" % (method_name, object_path))
return_value = None
if "getString" == method_name:
assert(len(argument_list) == 0)
return_value = self.client.get_string (object_path)
elif "setString" == method_name:
assert(len(argument_list) == 1)
self.client.set_string(object_path, argument_list[0])
elif "getInt" == method_name:
assert(len(argument_list) == 0)
return_value = self.client.get_int(object_path)
elif "setInt" == method_name:
assert(len(argument_list) == 1)
self.client.set_int(object_path, argument_list[0])
return return_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()
Index: Makefile.am
===================================================================
RCS file: /cvs/dbus/dbus/python/examples/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- a/Makefile.am 28 May 2004 18:43:55 -0000 1.1
+++ b/Makefile.am 30 May 2004 02:26:48 -0000 1.2
@@ -4,6 +4,8 @@
example-service.py \
example-client.py \
example-signal.py \
+ gconf-proxy-client.py \
+ gconf-proxy-service.py \
list-system-services.py \
$(NULL)
More information about the dbus-commit
mailing list