Example #1
0
    def __init__(self, session_manager, peer, euf_guid="", application_id=0):
        gobject.GObject.__init__(self)
        self._session_manager = session_manager
        self._peer = peer

        self._id =  self._generate_id()
        self._call_id = "{%s}" % guid.generate_guid()

        self._euf_guid = euf_guid
        self._application_id = application_id

        self._cseq = 0
        self._branch = "{%s}" % guid.generate_guid()
        self._session_manager._register_session(self)
    def send_message(self, recipient, message):
        if self._client.protocol_version >= 18:
            self.__send_unmanaged_message(recipient, message)
            return

        if recipient.network_id == NetworkID.EXTERNAL:
            return

        convo = self.__conversations.get(recipient, None)
        if convo is None:
            run_id = guid.generate_guid()
            sequence_num = 1
            self.__conversations[recipient] = [run_id, sequence_num]
        else:
            (run_id, sequence_num) = convo
            convo[1] = convo[1] + 1

        sm = scenario.SendMessageScenario(
            self._oim, self._client, recipient, message,
            (self.__send_message_cb, recipient, message),
            (self.__common_errback, ))

        sm.run_id = run_id
        sm.sequence_num = sequence_num
        sm()
    def send_message(self, recipient, message):
        if self._client.protocol_version >= 18:
            self.__send_unmanaged_message(recipient, message)
            return
            
        if recipient.network_id == NetworkID.EXTERNAL:
            return

        convo = self.__conversations.get(recipient, None)
        if convo is None:
            run_id = guid.generate_guid()
            sequence_num = 1
            self.__conversations[recipient] = [run_id, sequence_num]
        else:
            (run_id, sequence_num) = convo
            convo[1] = convo[1] + 1

        sm = scenario.SendMessageScenario(self._oim,
                 self._client, recipient, message,
                 (self.__send_message_cb, recipient, message),
                 (self.__common_errback,))

        sm.run_id = run_id
        sm.sequence_num = sequence_num
        sm()
Example #4
0
 def _close(self):
     body = SLPSessionCloseBody()
     self._cseq = 0
     self._branch = "{%s}" % guid.generate_guid()
     message = SLPRequestMessage(SLPRequestMethod.BYE,
             "MSNMSGR:" + self._peer.account,
             to=self._peer.account,
             frm=self._session_manager._client.profile.account,
             branch=self._branch,
             cseq=self._cseq,
             call_id=self._call_id)
     message.body = body
     self._send_p2p_data(message)
     self._session_manager._unregister_session(self)