summaryrefslogtreecommitdiff
path: root/sleekxmpp/features/feature_bind/bind.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/features/feature_bind/bind.py')
-rw-r--r--sleekxmpp/features/feature_bind/bind.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/sleekxmpp/features/feature_bind/bind.py b/sleekxmpp/features/feature_bind/bind.py
deleted file mode 100644
index ee4c1e9b..00000000
--- a/sleekxmpp/features/feature_bind/bind.py
+++ /dev/null
@@ -1,65 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2011 Nathanael C. Fritz
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-import logging
-
-from sleekxmpp.jid import JID
-from sleekxmpp.stanza import Iq, StreamFeatures
-from sleekxmpp.features.feature_bind import stanza
-from sleekxmpp.xmlstream import register_stanza_plugin
-from sleekxmpp.plugins import BasePlugin
-
-
-log = logging.getLogger(__name__)
-
-
-class FeatureBind(BasePlugin):
-
- name = 'feature_bind'
- description = 'RFC 6120: Stream Feature: Resource Binding'
- dependencies = set()
- stanza = stanza
-
- def plugin_init(self):
- self.xmpp.register_feature('bind',
- self._handle_bind_resource,
- restart=False,
- order=10000)
-
- register_stanza_plugin(Iq, stanza.Bind)
- register_stanza_plugin(StreamFeatures, stanza.Bind)
-
- def _handle_bind_resource(self, features):
- """
- Handle requesting a specific resource.
-
- Arguments:
- features -- The stream features stanza.
- """
- log.debug("Requesting resource: %s", self.xmpp.requested_jid.resource)
- iq = self.xmpp.Iq()
- iq['type'] = 'set'
- iq.enable('bind')
- if self.xmpp.requested_jid.resource:
- iq['bind']['resource'] = self.xmpp.requested_jid.resource
- response = iq.send(now=True)
-
- self.xmpp.boundjid = JID(response['bind']['jid'], cache_lock=True)
- self.xmpp.bound = True
- self.xmpp.event('session_bind', self.xmpp.boundjid, direct=True)
- self.xmpp.session_bind_event.set()
-
- self.xmpp.features.add('bind')
-
- log.info("JID set to: %s", self.xmpp.boundjid.full)
-
- if 'session' not in features['features']:
- log.debug("Established Session")
- self.xmpp.sessionstarted = True
- self.xmpp.session_started_event.set()
- self.xmpp.event('session_start')