+ @property
+ def callbackNumberParameter(self):
+ return self.__callbackNumberParameter
+
+ def get_handle_by_name(self, handleType, handleName):
+ requestedHandleName = handleName.encode('utf-8')
+
+ # We need to return an existing or create a new handle. Unfortunately
+ # handle init's take care of normalizing the handle name. So we have
+ # to create a new handle regardless and burn some handle id's and burn
+ # some extra memory of creating objects we throw away if the handle
+ # already exists.
+ if handleType == telepathy.HANDLE_TYPE_CONTACT:
+ h = handle.create_handle(self, 'contact', requestedHandleName)
+ elif handleType == telepathy.HANDLE_TYPE_LIST:
+ # Support only server side (immutable) lists
+ h = handle.create_handle(self, 'list', requestedHandleName)
+ else:
+ raise telepathy.errors.NotAvailable('Handle type unsupported %d' % handleType)
+
+ for candidate in self._handles.itervalues():
+ if candidate.get_name() == h.get_name():
+ h = candidate
+ _moduleLogger.debug("Re-used handle for %s, I hoped this helped" % handleName)
+ break
+
+ return h
+
+ def force_log_display(self):
+ accountNumber = misc_utils.normalize_number(self.session.backend.get_account_number())
+ debugHandle = self.get_handle_by_name(
+ telepathy.HANDLE_TYPE_CONTACT,
+ accountNumber,
+ )
+ debugPromptProps = self.generate_props(telepathy.CHANNEL_TYPE_TEXT, debugHandle, False)
+ self.__channelManager.channel_for_props(debugPromptProps, signal=True)
+
+ def log_to_user(self, component, message):
+ for logger in self._loggers:
+ logger.log_message(component, message)
+
+ def add_logger(self, logger):
+ self._loggers.append(logger)
+
+ def remove_logger(self, logger):
+ self._loggers.remove(logger)
+
+ @property
+ def _channel_manager(self):
+ return self.__channelManager