use NEC to handle jingle-error events
This commit is contained in:
parent
cbe9cbcdd3
commit
989e606672
|
@ -1143,3 +1143,13 @@ class JingleDisconnectedReceivedEvent(nec.NetworkIncomingEvent):
|
|||
self.jid, self.resource = gajim.get_room_and_nick_from_fjid(self.fjid)
|
||||
self.sid = self.jingle_session.sid
|
||||
return True
|
||||
|
||||
class JingleErrorReceivedEvent(nec.NetworkIncomingEvent):
|
||||
name = 'jingle-error-received'
|
||||
base_network_events = []
|
||||
|
||||
def generate(self):
|
||||
self.fjid = self.jingle_session.peerjid
|
||||
self.jid, self.resource = gajim.get_room_and_nick_from_fjid(self.fjid)
|
||||
self.sid = self.jingle_session.sid
|
||||
return True
|
|
@ -534,8 +534,9 @@ class JingleSession(object):
|
|||
if text:
|
||||
text = '%s (%s)' % (error, text)
|
||||
if type_ != 'modify':
|
||||
self.connection.dispatch('JINGLE_ERROR',
|
||||
(self.peerjid, self.sid, text or error))
|
||||
gajim.nec.push_incoming_event(JingleErrorReceivedEvent(None,
|
||||
conn=self.connection, jingle_session=self,
|
||||
reason=text or error))
|
||||
|
||||
def __reason_from_stanza(self, stanza):
|
||||
# TODO: Move to GUI?
|
||||
|
|
|
@ -1585,15 +1585,13 @@ class Interface:
|
|||
else:
|
||||
dialog.remove_contents((obj.media, ))
|
||||
|
||||
def handle_event_jingle_error(self, account, data):
|
||||
def handle_event_jingle_error(self, obj):
|
||||
# ('JINGLE_ERROR', account, (peerjid, sid, reason))
|
||||
peerjid, sid, reason = data
|
||||
jid = gajim.get_jid_without_resource(peerjid)
|
||||
resource = gajim.get_resource_from_jid(peerjid)
|
||||
ctrl = (self.msg_win_mgr.get_control(peerjid, account)
|
||||
or self.msg_win_mgr.get_control(jid, account))
|
||||
account = obj.conn.name
|
||||
ctrl = (self.msg_win_mgr.get_control(obj.fjid, account)
|
||||
or self.msg_win_mgr.get_control(obj.jid, account))
|
||||
if ctrl:
|
||||
ctrl.set_audio_state('error', reason=reason)
|
||||
ctrl.set_audio_state('error', reason=obj.reason)
|
||||
|
||||
def handle_event_pep_config(self, account, data):
|
||||
# ('PEP_CONFIG', account, (node, form))
|
||||
|
@ -1899,7 +1897,6 @@ class Interface:
|
|||
'INSECURE_SSL_CONNECTION': \
|
||||
[self.handle_event_insecure_ssl_connection],
|
||||
'INSECURE_PASSWORD': [self.handle_event_insecure_password],
|
||||
'JINGLE_ERROR': [self.handle_event_jingle_error],
|
||||
'PEP_RECEIVED': [self.handle_event_pep_received],
|
||||
'CAPS_RECEIVED': [self.handle_event_caps_received],
|
||||
'ARCHIVING_CHANGED': [self.handle_event_archiving_changed],
|
||||
|
@ -1913,6 +1910,7 @@ class Interface:
|
|||
'jingle-connected-received': [self.handle_event_jingle_connected],
|
||||
'jingle-disconnected-received': [
|
||||
self.handle_event_jingle_disconnected],
|
||||
'jingle-error-received': [self.handle_event_jingle_error],
|
||||
'jingle-request-received': [self.handle_event_jingle_incoming],
|
||||
'last-result-received': [self.handle_event_last_status_time],
|
||||
'muc-admin-received': [self.handle_event_gc_affiliation],
|
||||
|
|
Loading…
Reference in New Issue