From 8377415d954fde92a10dfd2a428b724ef4e7991d Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Fri, 20 Jul 2012 14:17:40 +0200 Subject: use QXmppSaslFailure --- src/base/QXmppSaslAuth.cpp | 32 +++++++++++++++++++++++++++++++- src/base/QXmppSaslAuth_p.h | 19 ++++++++++++++++++- 2 files changed, 49 insertions(+), 2 deletions(-) (limited to 'src/base') diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp index d651fad8..ddec1e0d 100644 --- a/src/base/QXmppSaslAuth.cpp +++ b/src/base/QXmppSaslAuth.cpp @@ -72,8 +72,38 @@ QXmppSaslChallenge::QXmppSaslChallenge(const QByteArray &value) { } -QXmppSaslFailure::QXmppSaslFailure() +QXmppSaslFailure::QXmppSaslFailure(const QString &condition) : QXmppSaslStanza("failure") + , m_condition(condition) +{ +} + +QString QXmppSaslFailure::condition() const +{ + return m_condition; +} + +void QXmppSaslFailure::setCondition(const QString &condition) +{ + m_condition = condition; +} + +void QXmppSaslFailure::parse(const QDomElement &element) +{ + m_condition = element.firstChildElement().tagName(); +} + +void QXmppSaslFailure::toXml(QXmlStreamWriter *writer) const +{ + writer->writeStartElement("failure"); + writer->writeAttribute("xmlns", ns_xmpp_sasl); + if (!m_condition.isEmpty()) + writer->writeEmptyElement(m_condition); + writer->writeEndElement(); +} + +QXmppSaslResponse::QXmppSaslResponse(const QByteArray &value) + : QXmppSaslStanza("response", value) { } diff --git a/src/base/QXmppSaslAuth_p.h b/src/base/QXmppSaslAuth_p.h index 87b6dc36..67480ddb 100644 --- a/src/base/QXmppSaslAuth_p.h +++ b/src/base/QXmppSaslAuth_p.h @@ -85,7 +85,24 @@ public: class QXmppSaslFailure : public QXmppSaslStanza { public: - QXmppSaslFailure(); + QXmppSaslFailure(const QString &condition = QString()); + + QString condition() const; + void setCondition(const QString &condition); + + /// \cond + void parse(const QDomElement &element); + void toXml(QXmlStreamWriter *writer) const; + /// \endcond + +private: + QString m_condition; +}; + +class QXmppSaslResponse : public QXmppSaslStanza +{ +public: + QXmppSaslResponse(const QByteArray &value = QByteArray()); }; class QXmppSaslSuccess : public QXmppSaslStanza -- cgit v1.2.3