summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-07-10 01:35:57 -0700
committerLance Stout <lancestout@gmail.com>2012-07-10 01:35:57 -0700
commita347cf625ade5b3cdea0a37ababebe754f580276 (patch)
tree88a1fe04c72dabe59488394c2242e24003e1cc70
parent46f49c7a12c3e00bb6e6b38e5e3aba5394aea931 (diff)
downloadslixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.gz
slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.bz2
slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.tar.xz
slixmpp-a347cf625ade5b3cdea0a37ababebe754f580276.zip
Add session_bind_event threading event.
-rw-r--r--sleekxmpp/basexmpp.py5
-rw-r--r--sleekxmpp/componentxmpp.py2
-rw-r--r--sleekxmpp/features/feature_bind/bind.py3
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')