aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppSaslAuth.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-07-20 13:40:04 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-07-20 13:40:04 +0200
commitb45b8e0f5d4ccd8e072a93fbbe390a7a13526a23 (patch)
treea81f7ca8c39f1a6d9600ec544e9abf9af4889944 /src/base/QXmppSaslAuth.cpp
parent72dd7ccb46ceac4b93f86a814e20576a5f325818 (diff)
downloadqxmpp-b45b8e0f5d4ccd8e072a93fbbe390a7a13526a23.tar.gz
parse SASL auth
Diffstat (limited to 'src/base/QXmppSaslAuth.cpp')
-rw-r--r--src/base/QXmppSaslAuth.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp
index ab0c6bcb..2f332454 100644
--- a/src/base/QXmppSaslAuth.cpp
+++ b/src/base/QXmppSaslAuth.cpp
@@ -35,6 +35,38 @@
const char *ns_xmpp_sasl = "urn:ietf:params:xml:ns:xmpp-sasl";
+QXmppSaslAuth::QXmppSaslAuth(const QString &mechanism, const QByteArray &value)
+ : m_mechanism(mechanism)
+ , m_value(value)
+{
+}
+
+QByteArray QXmppSaslAuth::value() const
+{
+ return m_value;
+}
+
+void QXmppSaslAuth::setValue(const QByteArray &value)
+{
+ m_value = value;
+}
+
+void QXmppSaslAuth::parse(const QDomElement &element)
+{
+ m_mechanism = element.attribute("mechanism");
+ m_value = QByteArray::fromBase64(element.text().toAscii());
+}
+
+void QXmppSaslAuth::toXml(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement("auth");
+ writer->writeAttribute("xmlns", ns_xmpp_sasl);
+ writer->writeAttribute("mechanism", m_mechanism);
+ if (!m_value.isEmpty())
+ writer->writeCharacters(m_value.toBase64());
+ writer->writeEndElement();
+}
+
QXmppSaslStanza::QXmppSaslStanza(const QString &type, const QByteArray &value)
: m_type(type)
, m_value(value)