00001 import Debug
00002
00003 try:
00004 import dbus.mainloop.qt
00005 import dbus.service
00006 import dbus
00007 isDBusAvailable = True
00008 except:
00009 isDBusAvailable = False
00010 Debug.info( _("Module 'dbus' not available. Consider installing it so other applications can easily interact with Koo.") )
00011
00012 if isDBusAvailable:
00013
00014
00015
00016
00017 class OpenErpInterface(dbus.service.Object):
00018 def __init__(self, path):
00019 dbus.service.Object.__init__(self, dbus.SessionBus(), path)
00020
00021
00022 @dbus.service.method(dbus_interface='org.openerp.Interface', in_signature='sss', out_signature='')
00023 def call(self, serviceName, function, parameters):
00024 f = 'Api.instance.%s(%s)' % (function, parameters)
00025 eval(f)
00026
00027 def init():
00028 if not isDBusAvailable:
00029 return
00030 try:
00031 dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True)
00032 sessionBus = dbus.SessionBus()
00033 name = dbus.service.BusName("org.openerp.Interface", sessionBus )
00034 example = OpenErpInterface('/OpenERP')
00035 except:
00036 Debug.warning( _("DBus initialization failed.") )
00037