- self._backend.login(*self._credentials)
- except gv_backend.NetworkError:
- self.StatusChanged(
- telepathy.CONNECTION_STATUS_DISCONNECTED,
- telepathy.CONNECTION_STATUS_REASON_NETWORK_ERROR
- )
- except Exception:
- self.StatusChanged(
- telepathy.CONNECTION_STATUS_DISCONNECTED,
- telepathy.CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED
- )
- else:
- self.StatusChanged(
- telepathy.CONNECTION_STATUS_CONNECTED,
- telepathy.CONNECTION_STATUS_REASON_REQUESTED
- )
+ self.__session.load(self.__cachePath)
+
+ for plumber in self._plumbing:
+ plumber.start()
+ self.session.login(*self.__credentials)
+ if not self.__callbackNumberParameter:
+ callback = gvoice.backend.get_sane_callback(
+ self.session.backend
+ )
+ self.__callbackNumberParameter = util_misc.normalize_number(callback)
+ self.session.backend.set_callback_number(self.__callbackNumberParameter)
+
+ subscribeHandle = self.get_handle_by_name(telepathy.HANDLE_TYPE_LIST, "subscribe")
+ subscribeProps = self.generate_props(telepathy.CHANNEL_TYPE_CONTACT_LIST, subscribeHandle, False)
+ self.__channelManager.channel_for_props(subscribeProps, signal=True)
+ publishHandle = self.get_handle_by_name(telepathy.HANDLE_TYPE_LIST, "publish")
+ publishProps = self.generate_props(telepathy.CHANNEL_TYPE_CONTACT_LIST, publishHandle, False)
+ self.__channelManager.channel_for_props(publishProps, signal=True)
+ except gvoice.backend.NetworkError, e:
+ _moduleLogger.exception("Connection Failed")
+ self.disconnect(telepathy.CONNECTION_STATUS_REASON_NETWORK_ERROR)
+ return
+ except Exception, e:
+ _moduleLogger.exception("Connection Failed")
+ self.disconnect(telepathy.CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED)
+ return
+
+ _moduleLogger.info("Connected")
+ self.StatusChanged(
+ telepathy.CONNECTION_STATUS_CONNECTED,
+ telepathy.CONNECTION_STATUS_REASON_REQUESTED
+ )