summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0198/stream_management.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-07-10 01:37:44 -0700
committerLance Stout <lancestout@gmail.com>2012-07-10 01:37:44 -0700
commite8a3e92ceb17d57ae95efd2a3fe7ed82c6ce2a2f (patch)
tree94429d10127c50478e656559a72d47539d12422c /sleekxmpp/plugins/xep_0198/stream_management.py
parent5df3839b7a8b1a3ca47f057865a52fe7a3f30229 (diff)
downloadslixmpp-e8a3e92ceb17d57ae95efd2a3fe7ed82c6ce2a2f.tar.gz
slixmpp-e8a3e92ceb17d57ae95efd2a3fe7ed82c6ce2a2f.tar.bz2
slixmpp-e8a3e92ceb17d57ae95efd2a3fe7ed82c6ce2a2f.tar.xz
slixmpp-e8a3e92ceb17d57ae95efd2a3fe7ed82c6ce2a2f.zip
Update plugins to use session_bind handler for disco, and use plugin_end
Diffstat (limited to 'sleekxmpp/plugins/xep_0198/stream_management.py')
-rw-r--r--sleekxmpp/plugins/xep_0198/stream_management.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0198/stream_management.py b/sleekxmpp/plugins/xep_0198/stream_management.py
index 05d5856f..a150ad39 100644
--- a/sleekxmpp/plugins/xep_0198/stream_management.py
+++ b/sleekxmpp/plugins/xep_0198/stream_management.py
@@ -133,6 +133,27 @@ class XEP_0198(BasePlugin):
self.xmpp.add_event_handler('session_end', self.session_end)
+ def plugin_end(self):
+ if self.xmpp.is_component:
+ return
+
+ self.xmpp.unregister_feature('sm', self.config.get('order', 10100))
+ self.xmpp.unregister_feature('sm', self.config.get('resume_order', 9000))
+ self.xmpp.del_event_handler('session_end', self.session_end)
+ self.xmpp.del_filter('in', self._handle_incoming)
+ self.xmpp.del_filter('out_sync', self._handle_outgoing)
+ self.xmpp.remove_handler('Stream Management Enabled')
+ self.xmpp.remove_handler('Stream Management Resumed')
+ self.xmpp.remove_handler('Stream Management Failed')
+ self.xmpp.remove_handler('Stream Management Ack')
+ self.xmpp.remove_handler('Stream Management Request Ack')
+ self.xmpp.remove_stanza(stanza.Enable)
+ self.xmpp.remove_stanza(stanza.Enabled)
+ self.xmpp.remove_stanza(stanza.Resume)
+ self.xmpp.remove_stanza(stanza.Resumed)
+ self.xmpp.remove_stanza(stanza.Ack)
+ self.xmpp.remove_stanza(stanza.RequestAck)
+
def session_end(self, event):
"""Reset stream management state."""
self.enabled.clear()