diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 13:40:04 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 13:40:04 +0200 |
| commit | b45b8e0f5d4ccd8e072a93fbbe390a7a13526a23 (patch) | |
| tree | a81f7ca8c39f1a6d9600ec544e9abf9af4889944 /src/base/QXmppSaslAuth.cpp | |
| parent | 72dd7ccb46ceac4b93f86a814e20576a5f325818 (diff) | |
| download | qxmpp-b45b8e0f5d4ccd8e072a93fbbe390a7a13526a23.tar.gz | |
parse SASL auth
Diffstat (limited to 'src/base/QXmppSaslAuth.cpp')
| -rw-r--r-- | src/base/QXmppSaslAuth.cpp | 32 |
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) |
