changeset a1b1b74e51ea in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=a1b1b74e51ea
description: use NEC to handle jingle-error events
diffstat:
src/common/connection_handlers_events.py | 10 ++++++++++
src/common/jingle_session.py | 5 +++--
src/gui_interface.py | 14 ++++++--------
3 files changed, 19 insertions(+), 10 deletions(-)
diffs (74 lines):
diff -r 2a0380c9d468 -r a1b1b74e51ea src/common/connection_handlers_events.py
--- a/src/common/connection_handlers_events.py Thu Nov 04 15:28:58 2010 +0000
+++ b/src/common/connection_handlers_events.py Fri Nov 05 11:08:06 2010 +0100
@@ -1142,4 +1142,14 @@
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
+
+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
\ No newline at end of file
diff -r 2a0380c9d468 -r a1b1b74e51ea src/common/jingle_session.py
--- a/src/common/jingle_session.py Thu Nov 04 15:28:58 2010 +0000
+++ b/src/common/jingle_session.py Fri Nov 05 11:08:06 2010 +0100
@@ -534,8 +534,9 @@
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?
diff -r 2a0380c9d468 -r a1b1b74e51ea src/gui_interface.py
--- a/src/gui_interface.py Thu Nov 04 15:28:58 2010 +0000
+++ b/src/gui_interface.py Fri Nov 05 11:08:06 2010 +0100
@@ -1585,15 +1585,13 @@
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 @@
'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 @@
'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],
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits