def __init__(self, server, proxies={}, transport_class=DirectConnection, version=15, client_type=msnp.ClientTypes.COMPUTER): """Initializer @param server: the Notification server to connect to. @type server: tuple(host, port) @param proxies: proxies that we can use to connect @type proxies: {type: string => L{gnet.proxy.ProxyInfos}} @param transport_class: the transport class to use for the network connection @type transport_class: L{papyon.transport.BaseTransport}""" EventsDispatcher.__init__(self) self.__state = ClientState.CLOSED self._proxies = proxies self._transport_class = transport_class self._client_type = client_type self._transport = transport_class(server, ServerType.NOTIFICATION, self._proxies) self._protocol = msnp.NotificationProtocol(self, self._transport, self._proxies, version) self._switchboard_manager = SwitchboardManager(self) self._switchboard_manager.register_handler(SwitchboardConversation) self._p2p_session_manager = P2PSessionManager(self) self._webcam_handler = WebcamHandler(self) self._p2p_session_manager.register_handler(self._webcam_handler) self._call_manager = SIPConnectionManager(self, self._protocol) self._msn_object_store = MSNObjectStore(self) self._p2p_session_manager.register_handler(self._msn_object_store) self._external_conversations = {} self._sso = None self._profile = None self._address_book = None self._oim_box = None self._mailbox = None self.__die = False self.__connect_transport_signals() self.__connect_protocol_signals() self.__connect_switchboard_manager_signals() self.__connect_webcam_handler_signals() self.__connect_call_manager_signals()
def __init__(self, server, proxies={}, transport_class=DirectConnection, version=15, client_type=msnp.ClientTypes.COMPUTER): """Initializer @param server: the Notification server to connect to. @type server: tuple(host, port) @param proxies: proxies that we can use to connect @type proxies: {type: string => L{gnet.proxy.ProxyInfos}} @note the key should be 'http', 'https' or 'direct' @param transport_class: the transport class to use for the network connection @type transport_class: L{papyon.transport.BaseTransport} @param version: protocol version to use (MSNP15, MSNP18...) @type version: int @param client_type: type of client (computer, mobile, web...) @type client_type: L{ClientTypes<papyon.msnp.constants.ClientTypes>}""" EventsDispatcher.__init__(self) self.__state = ClientState.CLOSED self._proxies = proxies self._transport_class = transport_class self._client_type = client_type self._transport = transport_class(server, ServerType.NOTIFICATION, self._proxies) self._protocol = msnp.NotificationProtocol(self, self._transport, self._proxies, version) self._switchboard_manager = SwitchboardManager(self) self._switchboard_manager.register_handler_class( SwitchboardConversation) self._p2p_session_manager = P2PSessionManager(self) self._webcam_handler = WebcamHandler(self) self._p2p_session_manager.register_handler(self._webcam_handler) self._call_manager = SIPCallManager(self) self._rtc_activity_manager = RTCActivityManager(self, self._protocol) self._msn_object_store = MSNObjectStore(self) self._p2p_session_manager.register_handler(self._msn_object_store) self._ft_manager = FileTransferManager(self) self._p2p_session_manager.register_handler(self._ft_manager) self._external_conversations = {} self._sso = None self._profile = None self._address_book = None self._oim_box = None self._mailbox = None self._roaming = None self._turn_client = None self.__keepalive_conversations = False self.__die = False self.__connect_transport_signals() self.__connect_protocol_signals() self.__connect_switchboard_manager_signals() self.__connect_webcam_handler_signals() self.__connect_call_manager_signals() self.__connect_ft_manager_signals()