diff options
author | Lance Stout <lancestout@gmail.com> | 2012-07-10 01:35:57 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2012-07-10 01:35:57 -0700 |
commit | a347cf625ade5b3cdea0a37ababebe754f580276 (patch) | |
tree | 88a1fe04c72dabe59488394c2242e24003e1cc70 /sleekxmpp | |
parent | 46f49c7a12c3e00bb6e6b38e5e3aba5394aea931 (diff) | |
download | slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.gz slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.bz2 slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.xz slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.zip |
Add session_bind_event threading event.
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/basexmpp.py | 5 | ||||
-rw-r--r-- | sleekxmpp/componentxmpp.py | 2 | ||||
-rw-r--r-- | sleekxmpp/features/feature_bind/bind.py | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py index 275275d1..da5b3e41 100644 --- a/sleekxmpp/basexmpp.py +++ b/sleekxmpp/basexmpp.py @@ -16,6 +16,7 @@ from __future__ import with_statement, unicode_literals import sys import logging +import threading import sleekxmpp from sleekxmpp import plugins, features, roster @@ -69,8 +70,11 @@ class BaseXMPP(XMLStream): #: The JabberID (JID) used by this connection. self.boundjid = JID(jid) + self._expected_server_name = self.boundjid.host + self.session_bind_event = threading.Event() + #: A dictionary mapping plugin names to plugins. self.plugin = PluginManager(self) @@ -655,6 +659,7 @@ class BaseXMPP(XMLStream): def _handle_disconnected(self, event): """When disconnected, reset the roster""" self.roster.reset() + self.session_bind_event.clear() def _handle_stream_error(self, error): self.event('stream_error', error) diff --git a/sleekxmpp/componentxmpp.py b/sleekxmpp/componentxmpp.py index d69d8266..20748b69 100644 --- a/sleekxmpp/componentxmpp.py +++ b/sleekxmpp/componentxmpp.py @@ -156,7 +156,9 @@ class ComponentXMPP(BaseXMPP): :param xml: The reply handshake stanza. """ + self.session_bind_event.set() self.session_started_event.set() + self.event("session_bind", self.xmpp.boundjid.full, direct=True) self.event("session_start") def _handle_probe(self, presence): diff --git a/sleekxmpp/features/feature_bind/bind.py b/sleekxmpp/features/feature_bind/bind.py index b828e26f..2253d5ae 100644 --- a/sleekxmpp/features/feature_bind/bind.py +++ b/sleekxmpp/features/feature_bind/bind.py @@ -50,7 +50,8 @@ class FeatureBind(BasePlugin): self.xmpp.set_jid(response['bind']['jid']) self.xmpp.bound = True - self.xmpp.event('session_bind', self.xmpp.boundjid, direct=True) + self.xmpp.event('session_bind', self.xmpp.boundjid.full, direct=True) + self.xmpp.session_bind_event.set() self.xmpp.features.add('bind') |