diff --git a/services/presence2/presenceservice.py b/services/presence2/presenceservice.py index 109fd0fd..532c77d9 100644 --- a/services/presence2/presenceservice.py +++ b/services/presence2/presenceservice.py @@ -60,7 +60,12 @@ class PresenceService(dbus.service.Object): self._registry = ManagerRegistry() self._registry.LoadManagers() - self._server_client = self._connect_to_server() + account = { + 'account': 'olpc@collabora.co.uk', + 'password': 'learn', + 'server': 'light.bluelinux.co.uk' + } + self._server_client = self._connect_to_connection_manager("jabber", account) self._handles[self._server_client] = {} # Telepathy link local connection @@ -72,15 +77,13 @@ class PresenceService(dbus.service.Object): dbus.service.Object.__init__(self, self._bus_name, _PRESENCE_PATH) - def _connect_to_server(self): - protocol = 'jabber' - account = { - 'account': 'olpc@collabora.co.uk', - 'password': 'learn', - 'server': 'light.bluelinux.co.uk' - } + def _connect_to_connection_manager(self, protocol, account): + if protocol == "jabber": + cm = "gabble" + else: + return - mgr = self._registry.GetManager('gabble') + mgr = self._registry.GetManager(cm) conn = None # Search existing connections, if any, that we might be able to use @@ -88,7 +91,7 @@ class PresenceService(dbus.service.Object): for item in connections: if item[CONN_INTERFACE].GetProtocol() != protocol: continue - if not item.object_path.startswith("/org/freedesktop/Telepathy/Connection/gabble/jabber/"): + if not item.object_path.startswith("/org/freedesktop/Telepathy/Connection/%s/%s/" % (cm, protocol)): continue if item[CONN_INTERFACE].GetStatus() == CONNECTION_STATUS_CONNECTED: self_name = account['account']