summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0065/stanza.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0065/stanza.py')
-rw-r--r--sleekxmpp/plugins/xep_0065/stanza.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0065/stanza.py b/sleekxmpp/plugins/xep_0065/stanza.py
new file mode 100644
index 00000000..ae57aba8
--- /dev/null
+++ b/sleekxmpp/plugins/xep_0065/stanza.py
@@ -0,0 +1,41 @@
+from sleekxmpp import Iq
+from sleekxmpp.xmlstream import ElementBase, register_stanza_plugin
+
+
+# The protocol namespace defined in the Socks5Bytestream (0065) spec.
+namespace = 'http://jabber.org/protocol/bytestreams'
+
+
+class StreamHost(ElementBase):
+ """ The streamhost xml element.
+ """
+
+ namespace = namespace
+ name = 'streamhost'
+ plugin_attrib = 'streamhost'
+ interfaces = set(('host', 'jid', 'port'))
+
+
+class StreamHostUsed(ElementBase):
+ """ The streamhost-used xml element.
+ """
+
+ namespace = namespace
+ name = 'streamhost-used'
+ plugin_attrib = 'streamhost-used'
+ interfaces = set(('jid',))
+
+
+class Socks5(ElementBase):
+ """ The query xml element.
+ """
+
+ namespace = namespace
+ name = 'query'
+ plugin_attrib = 'socks'
+ interfaces = set(('sid', 'activate'))
+ sub_interfaces = set(('activate',))
+
+register_stanza_plugin(Iq, Socks5)
+register_stanza_plugin(Socks5, StreamHost)
+register_stanza_plugin(Socks5, StreamHostUsed)