dbus/python/examples/gconf-proxy-service.py
John (J5) Palmieri d06bfe528b * python/dbus_bindings.pyx.in: removed
* python/dbus_bindings.pyx: Added.
	- Fixed some memleaks (patch from
	  Sean Meiners <sean.meiners@linspireinc.com>)
	- Broke out the #include "dbus_h_wrapper.h" and put it in its
	  own pxd file (Pyrex definition)
	- Broke out glib dependancies into its own pyx module

* python/dbus_bindings.pdx: Added.
	- Defines C class Connection for exporting to other modules

* python/dbus_glib_bindings.pyx: Added.
	- New module to handle lowlevel dbus-glib mainloop integration

* python/glib.py: Added.
	- Registers the glib mainloop when you import this module

* python/services.py: Removed (renamed to service.py)

* python/service.py: Added.
	- (class Server): renamed Name

* python/__init__.py: Bump ro version (0,41,0)
	- don't import the decorators or service module
   	  by default.  These now reside in the dbus.service namespace

* python/_dbus.py (Bus::__init__): Add code run the main loop
  setup function on creation

* python/examples/example-service.py,
  python/examples/example-signal-emitter.py: update examples

* python/examples/gconf-proxy-service.py,
  python/examples/gconf-proxy-service2.py: TODO fix these up

* doc/TODO: Addition
	- Added a Python Bindings 1.0 section
	- added "Add match on args or match on details to match rules"
2005-07-12 18:16:07 +00:00

42 lines
1.5 KiB
Python

#!/usr/bin/env python
#FIXME: Doesn't work with the new bindings
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()