Mercurial > libervia-backend
diff frontends/sat_bridge_frontend/DBus.py @ 165:8a2053de6f8c
Frontends: management of unlaunched SàT Backend (information message and exit)
DBus Bridge Frontend: added an exception to manage unlaunched SàT Backend (BridgeExceptionNoService)
Quick App, jp: a message is print when the previous exception is launched
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 09 Aug 2010 21:36:31 +0800 |
parents | d6c0fe7489af |
children | 96af1bec2e68 |
line wrap: on
line diff
--- a/frontends/sat_bridge_frontend/DBus.py Mon Aug 09 19:09:43 2010 +0800 +++ b/frontends/sat_bridge_frontend/DBus.py Mon Aug 09 21:36:31 2010 +0800 @@ -22,16 +22,24 @@ from bridge_frontend import BridgeFrontend import dbus, dbus.glib +class BridgeExceptionNoService(Exception): + pass class DBusBridgeFrontend(BridgeFrontend): def __init__(self): - self.sessions_bus = dbus.SessionBus() - self.db_object = self.sessions_bus.get_object('org.goffi.SAT', - '/org/goffi/SAT/bridge') - self.db_comm_iface = dbus.Interface(self.db_object, - dbus_interface='org.goffi.SAT.communication') - self.db_req_iface = dbus.Interface(self.db_object, - dbus_interface='org.goffi.SAT.request') + try: + self.sessions_bus = dbus.SessionBus() + self.db_object = self.sessions_bus.get_object('org.goffi.SAT', + '/org/goffi/SAT/bridge') + self.db_comm_iface = dbus.Interface(self.db_object, + dbus_interface='org.goffi.SAT.communication') + self.db_req_iface = dbus.Interface(self.db_object, + dbus_interface='org.goffi.SAT.request') + except dbus.exceptions.DBusException,e: + if e._dbus_error_name=='org.freedesktop.DBus.Error.ServiceUnknown': + raise BridgeExceptionNoService + else: + raise e #props = self.db_comm_iface.getProperties() def register(self, functionName, handler, iface="communication"):