Philipp Hörist pushed to branch master at gajim / gajim
Commits:
-
294eece2
by Philipp Hörist at 2019-12-10T21:57:12Z
3 changed files:
Changes:
| ... | ... | @@ -57,51 +57,6 @@ class OurShowEvent(nec.NetworkIncomingEvent): |
| 57 | 57 |
class MessageSentEvent(nec.NetworkIncomingEvent):
|
| 58 | 58 |
name = 'message-sent'
|
| 59 | 59 |
|
| 60 |
-class JingleRequestReceivedEvent(nec.NetworkIncomingEvent):
|
|
| 61 |
- name = 'jingle-request-received'
|
|
| 62 |
- |
|
| 63 |
- def generate(self):
|
|
| 64 |
- self.fjid = self.jingle_session.peerjid
|
|
| 65 |
- self.jid, self.resource = app.get_room_and_nick_from_fjid(self.fjid)
|
|
| 66 |
- self.sid = self.jingle_session.sid
|
|
| 67 |
- return True
|
|
| 68 |
- |
|
| 69 |
-class JingleConnectedReceivedEvent(nec.NetworkIncomingEvent):
|
|
| 70 |
- name = 'jingle-connected-received'
|
|
| 71 |
- |
|
| 72 |
- def generate(self):
|
|
| 73 |
- self.fjid = self.jingle_session.peerjid
|
|
| 74 |
- self.jid, self.resource = app.get_room_and_nick_from_fjid(self.fjid)
|
|
| 75 |
- self.sid = self.jingle_session.sid
|
|
| 76 |
- return True
|
|
| 77 |
- |
|
| 78 |
-class JingleDisconnectedReceivedEvent(nec.NetworkIncomingEvent):
|
|
| 79 |
- name = 'jingle-disconnected-received'
|
|
| 80 |
- |
|
| 81 |
- def generate(self):
|
|
| 82 |
- self.fjid = self.jingle_session.peerjid
|
|
| 83 |
- self.jid, self.resource = app.get_room_and_nick_from_fjid(self.fjid)
|
|
| 84 |
- self.sid = self.jingle_session.sid
|
|
| 85 |
- return True
|
|
| 86 |
- |
|
| 87 |
-class JingleTransferCancelledEvent(nec.NetworkIncomingEvent):
|
|
| 88 |
- name = 'jingleFT-cancelled-received'
|
|
| 89 |
- |
|
| 90 |
- def generate(self):
|
|
| 91 |
- self.fjid = self.jingle_session.peerjid
|
|
| 92 |
- self.jid, self.resource = app.get_room_and_nick_from_fjid(self.fjid)
|
|
| 93 |
- self.sid = self.jingle_session.sid
|
|
| 94 |
- return True
|
|
| 95 |
- |
|
| 96 |
-class JingleErrorReceivedEvent(nec.NetworkIncomingEvent):
|
|
| 97 |
- name = 'jingle-error-received'
|
|
| 98 |
- |
|
| 99 |
- def generate(self):
|
|
| 100 |
- self.fjid = self.jingle_session.peerjid
|
|
| 101 |
- self.jid, self.resource = app.get_room_and_nick_from_fjid(self.fjid)
|
|
| 102 |
- self.sid = self.jingle_session.sid
|
|
| 103 |
- return True
|
|
| 104 |
- |
|
| 105 | 60 |
class NewAccountConnectedEvent(nec.NetworkIncomingEvent):
|
| 106 | 61 |
name = 'new-account-connected'
|
| 107 | 62 |
|
| ... | ... | @@ -33,13 +33,13 @@ from enum import Enum, unique |
| 33 | 33 |
import nbxmpp
|
| 34 | 34 |
|
| 35 | 35 |
from gajim.common import app
|
| 36 |
-from gajim.common.jingle_transport import get_jingle_transport, JingleTransportIBB
|
|
| 37 |
-from gajim.common.jingle_content import get_jingle_content, JingleContentSetupException
|
|
| 36 |
+from gajim.common.jingle_transport import get_jingle_transport
|
|
| 37 |
+from gajim.common.jingle_transport import JingleTransportIBB
|
|
| 38 |
+from gajim.common.jingle_content import get_jingle_content
|
|
| 39 |
+from gajim.common.jingle_content import JingleContentSetupException
|
|
| 38 | 40 |
from gajim.common.jingle_ft import State
|
| 39 |
-from gajim.common.connection_handlers_events import (
|
|
| 40 |
- FilesProp, JingleRequestReceivedEvent, JingleDisconnectedReceivedEvent,
|
|
| 41 |
- JingleTransferCancelledEvent, JingleConnectedReceivedEvent,
|
|
| 42 |
- JingleErrorReceivedEvent)
|
|
| 41 |
+from gajim.common.connection_handlers_events import FilesProp
|
|
| 42 |
+from gajim.common.nec import NetworkEvent
|
|
| 43 | 43 |
|
| 44 | 44 |
log = logging.getLogger("app.c.jingle_session")
|
| 45 | 45 |
|
| ... | ... | @@ -469,9 +469,9 @@ class JingleSession: |
| 469 | 469 |
if (creator, name) in self.contents:
|
| 470 | 470 |
content = self.contents[(creator, name)]
|
| 471 | 471 |
# TODO: this will fail if content is not an RTP content
|
| 472 |
- app.nec.push_incoming_event(JingleDisconnectedReceivedEvent(
|
|
| 473 |
- None, conn=self.connection, jingle_session=self,
|
|
| 474 |
- media=content.media, reason='removed'))
|
|
| 472 |
+ self._raise_event('jingle-disconnected-received',
|
|
| 473 |
+ media=content.media,
|
|
| 474 |
+ reason='removed')
|
|
| 475 | 475 |
content.destroy()
|
| 476 | 476 |
if not self.contents:
|
| 477 | 477 |
reason = nbxmpp.Node('reason')
|
| ... | ... | @@ -507,10 +507,7 @@ class JingleSession: |
| 507 | 507 |
# self.add_content(name, content, creator)
|
| 508 | 508 |
# self.__content_reject(content)
|
| 509 | 509 |
# self.contents[(content.creator, content.name)].destroy()
|
| 510 |
- app.nec.push_incoming_event(JingleRequestReceivedEvent(None,
|
|
| 511 |
- conn=self.connection,
|
|
| 512 |
- jingle_session=self,
|
|
| 513 |
- contents=contents))
|
|
| 510 |
+ self._raise_event('jingle-request-received', contents=contents)
|
|
| 514 | 511 |
|
| 515 | 512 |
def __on_session_initiate(self, stanza, jingle, error, action):
|
| 516 | 513 |
"""
|
| ... | ... | @@ -572,10 +569,7 @@ class JingleSession: |
| 572 | 569 |
|
| 573 | 570 |
self.state = JingleStates.PENDING
|
| 574 | 571 |
# Send event about starting a session
|
| 575 |
- app.nec.push_incoming_event(JingleRequestReceivedEvent(None,
|
|
| 576 |
- conn=self.connection,
|
|
| 577 |
- jingle_session=self,
|
|
| 578 |
- contents=contents[0]))
|
|
| 572 |
+ self._raise_event('jingle-ft-cancelled-received', contents=contents[0])
|
|
| 579 | 573 |
|
| 580 | 574 |
def __broadcast(self, stanza, jingle, error, action):
|
| 581 | 575 |
"""
|
| ... | ... | @@ -612,11 +606,9 @@ class JingleSession: |
| 612 | 606 |
# TODO
|
| 613 | 607 |
text = reason
|
| 614 | 608 |
if reason == 'cancel' and self.session_type_ft:
|
| 615 |
- app.nec.push_incoming_event(JingleTransferCancelledEvent(None,
|
|
| 616 |
- conn=self.connection,
|
|
| 617 |
- jingle_session=self,
|
|
| 618 |
- media=None,
|
|
| 619 |
- reason=text))
|
|
| 609 |
+ self._raise_event('jingle-ft-cancelled-received',
|
|
| 610 |
+ media=None,
|
|
| 611 |
+ reason=text)
|
|
| 620 | 612 |
|
| 621 | 613 |
def __broadcast_all(self, stanza, jingle, error, action):
|
| 622 | 614 |
"""
|
| ... | ... | @@ -663,10 +655,7 @@ class JingleSession: |
| 663 | 655 |
if text:
|
| 664 | 656 |
text = '%s (%s)' % (error, text)
|
| 665 | 657 |
if type_ != 'modify':
|
| 666 |
- app.nec.push_incoming_event(JingleErrorReceivedEvent(None,
|
|
| 667 |
- conn=self.connection,
|
|
| 668 |
- jingle_session=self,
|
|
| 669 |
- reason=text or error))
|
|
| 658 |
+ self._raise_event('jingle-error-received', reason=text or error)
|
|
| 670 | 659 |
|
| 671 | 660 |
@staticmethod
|
| 672 | 661 |
def __reason_from_stanza(stanza):
|
| ... | ... | @@ -781,11 +770,9 @@ class JingleSession: |
| 781 | 770 |
else:
|
| 782 | 771 |
text = reason
|
| 783 | 772 |
self.connection.get_module('Jingle').delete_jingle_session(self.sid)
|
| 784 |
- app.nec.push_incoming_event(JingleDisconnectedReceivedEvent(None,
|
|
| 785 |
- conn=self.connection,
|
|
| 786 |
- jingle_session=self,
|
|
| 787 |
- media=None,
|
|
| 788 |
- reason=text))
|
|
| 773 |
+ self._raise_event('jingle-disconnected-received',
|
|
| 774 |
+ media=None,
|
|
| 775 |
+ reason=text)
|
|
| 789 | 776 |
|
| 790 | 777 |
def __content_add(self, content):
|
| 791 | 778 |
# TODO: test
|
| ... | ... | @@ -811,11 +798,9 @@ class JingleSession: |
| 811 | 798 |
self.__append_content(jingle, content)
|
| 812 | 799 |
self.connection.connection.send(stanza)
|
| 813 | 800 |
# TODO: this will fail if content is not an RTP content
|
| 814 |
- app.nec.push_incoming_event(JingleDisconnectedReceivedEvent(None,
|
|
| 815 |
- conn=self.connection,
|
|
| 816 |
- jingle_session=self,
|
|
| 817 |
- media=content.media,
|
|
| 818 |
- reason='rejected'))
|
|
| 801 |
+ self._raise_event('jingle-disconnected-received',
|
|
| 802 |
+ media=content.media,
|
|
| 803 |
+ reason='rejected')
|
|
| 819 | 804 |
|
| 820 | 805 |
def __content_modify(self):
|
| 821 | 806 |
assert self.state != JingleStates.ENDED
|
| ... | ... | @@ -827,17 +812,12 @@ class JingleSession: |
| 827 | 812 |
self.__append_content(jingle, content)
|
| 828 | 813 |
self.connection.connection.send(stanza)
|
| 829 | 814 |
# TODO: this will fail if content is not an RTP content
|
| 830 |
- app.nec.push_incoming_event(JingleDisconnectedReceivedEvent(None,
|
|
| 831 |
- conn=self.connection,
|
|
| 832 |
- jingle_session=self,
|
|
| 833 |
- media=content.media,
|
|
| 834 |
- reason='removed'))
|
|
| 815 |
+ self._raise_event('jingle-disconnected-received',
|
|
| 816 |
+ media=content.media,
|
|
| 817 |
+ reason='removed')
|
|
| 835 | 818 |
|
| 836 | 819 |
def content_negotiated(self, media):
|
| 837 |
- app.nec.push_incoming_event(JingleConnectedReceivedEvent(None,
|
|
| 838 |
- conn=self.connection,
|
|
| 839 |
- jingle_session=self,
|
|
| 840 |
- media=media))
|
|
| 820 |
+ self._raise_event('jingle-connected-received', media=media)
|
|
| 841 | 821 |
|
| 842 | 822 |
def __transport_accept(self, transport):
|
| 843 | 823 |
assert self.state != JingleStates.ENDED
|
| ... | ... | @@ -847,3 +827,15 @@ class JingleSession: |
| 847 | 827 |
self.connection.connection.send(stanza)
|
| 848 | 828 |
self.collect_iq_id(stanza.getID())
|
| 849 | 829 |
self.state = JingleStates.ACTIVE
|
| 830 |
+ |
|
| 831 |
+ def _raise_event(self, name, **kwargs):
|
|
| 832 |
+ jid, resource = app.get_room_and_nick_from_fjid(self.peerjid)
|
|
| 833 |
+ app.nec.push_incoming_event(
|
|
| 834 |
+ NetworkEvent(name,
|
|
| 835 |
+ conn=self.connection,
|
|
| 836 |
+ fjid=self.peerjid,
|
|
| 837 |
+ jid=jid,
|
|
| 838 |
+ sid=self.sid,
|
|
| 839 |
+ resource=resource,
|
|
| 840 |
+ jingle_session=self,
|
|
| 841 |
+ **kwargs))
|
| ... | ... | @@ -1102,7 +1102,7 @@ class Interface: |
| 1102 | 1102 |
self.handle_event_jingle_disconnected],
|
| 1103 | 1103 |
'jingle-error-received': [self.handle_event_jingle_error],
|
| 1104 | 1104 |
'jingle-request-received': [self.handle_event_jingle_incoming],
|
| 1105 |
- 'jingleFT-cancelled-received': [self.handle_event_jingleft_cancel],
|
|
| 1105 |
+ 'jingle-ft-cancelled-received': [self.handle_event_jingleft_cancel],
|
|
| 1106 | 1106 |
'message-not-sent': [self.handle_event_msgnotsent],
|
| 1107 | 1107 |
'message-sent': [self.handle_event_msgsent],
|
| 1108 | 1108 |
'metacontacts-received': [self.handle_event_metacontacts],
|