summaryrefslogtreecommitdiff
path: root/slixmpp/plugins/google/auth/stanza.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2015-10-02 19:07:45 +0200
committermathieui <mathieui@mathieui.net>2015-10-02 19:07:45 +0200
commitada9444bf84bd238238c4d22561f69184dd22cdd (patch)
treeceb4f86446b4129ec22cb348f1cb1bd7a151e2da /slixmpp/plugins/google/auth/stanza.py
parent1100ff1febf7e605e03fd9565bdac5fdaa3bf1e0 (diff)
parentacc52fd935b7e74919ad748f3a630596f66c62af (diff)
downloadslixmpp-ada9444bf84bd238238c4d22561f69184dd22cdd.tar.gz
slixmpp-ada9444bf84bd238238c4d22561f69184dd22cdd.tar.bz2
slixmpp-ada9444bf84bd238238c4d22561f69184dd22cdd.tar.xz
slixmpp-ada9444bf84bd238238c4d22561f69184dd22cdd.zip
Merge branch 'sleek-merge'
Diffstat (limited to 'slixmpp/plugins/google/auth/stanza.py')
-rw-r--r--slixmpp/plugins/google/auth/stanza.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/slixmpp/plugins/google/auth/stanza.py b/slixmpp/plugins/google/auth/stanza.py
new file mode 100644
index 00000000..c5c693ee
--- /dev/null
+++ b/slixmpp/plugins/google/auth/stanza.py
@@ -0,0 +1,47 @@
+"""
+ Slixmpp: The Slick XMPP Library
+ Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout
+ This file is part of slixmpp.
+
+ See the file LICENSE for copying permission.
+"""
+
+from slixmpp.xmlstream import ElementBase, ET
+
+
+class GoogleAuth(ElementBase):
+ name = 'auth'
+ namespace = 'http://www.google.com/talk/protocol/auth'
+ plugin_attrib = 'google'
+ interfaces = set(['client_uses_full_bind_result', 'service'])
+
+ discovery_attr= '{%s}client-uses-full-bind-result' % namespace
+ service_attr= '{%s}service' % namespace
+
+ def setup(self, xml):
+ """Don't create XML for the plugin."""
+ self.xml = ET.Element('')
+
+ def get_client_uses_full_bind_result(self):
+ return self.parent()._get_attr(self.discovery_attr) == 'true'
+
+ def set_client_uses_full_bind_result(self, value):
+ if value in (True, 'true'):
+ self.parent()._set_attr(self.discovery_attr, 'true')
+ else:
+ self.parent()._del_attr(self.discovery_attr)
+
+ def del_client_uses_full_bind_result(self):
+ self.parent()._del_attr(self.discovery_attr)
+
+ def get_service(self):
+ return self.parent()._get_attr(self.service_attr, '')
+
+ def set_service(self, value):
+ if value:
+ self.parent()._set_attr(self.service_attr, value)
+ else:
+ self.parent()._del_attr(self.service_attr)
+
+ def del_service(self):
+ self.parent()._del_attr(self.service_attr)