All pastes #42793 Raw Edit

kikidonk

public text v1 · immutable
#42793 ·published 2006-02-22 18:10 UTC
rendered paste body
import gobjectimport dbusimport dbus.serviceif getattr(dbus, 'version', (0,0,0)) >= (0,41,0):    import dbus.glibdef test(service, obj, iface, name):	print 'Create object'	class TTt(dbus.service.Object):		def __init__(self, service, obj):			self.service = service			self.obj = obj				def ready(self):			dbus.service.Object.__init__(self, self.service, self.obj)		obj = TTt(service, obj)	def method(self):		print 'Called'		print 'Setting method'	setattr(obj, name, method)	print 'Wrapping method'	setattr(obj, name, dbus.service.method(iface)(getattr(obj, name)))	obj.ready()	return objsession_bus = dbus.SessionBus()print 'Acquiring name'bus_name = dbus.service.BusName('org.freedesktop.HelloWorld', bus=session_bus)object = test(bus_name, '/org/freedesktop/HelloWorldObject', 'org.freedesktop.HelloWorldIFace', 'hello')print dir(object)def handle(e=None):	print 'Reply handled'	def ttt():	print 'ttt'	proxy_obj = session_bus.get_object('org.freedesktop.HelloWorld', '/org/freedesktop/HelloWorldObject')	print 'getting Iface'	iface = dbus.Interface(proxy_obj, 'org.freedesktop.HelloWorldIFace')	print 'Calling'	iface.hello(reply_handler=handle,error_handler=handle)	print 'Waiting'gobject.timeout_add(1000, ttt)mainloop = gobject.MainLoop()mainloop.run()