diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 13:58:42 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 13:58:42 +0200 |
| commit | f355e899fe539e9f743efe0118d69a7348fa3d52 (patch) | |
| tree | d1420f67529c23b835b5e1ee5025c665933b7de3 /src/base | |
| parent | b45b8e0f5d4ccd8e072a93fbbe390a7a13526a23 (diff) | |
| download | qxmpp-f355e899fe539e9f743efe0118d69a7348fa3d52.tar.gz | |
rework
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppSaslAuth.cpp | 33 | ||||
| -rw-r--r-- | src/base/QXmppSaslAuth_p.h | 42 |
2 files changed, 52 insertions, 23 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp index 2f332454..d651fad8 100644 --- a/src/base/QXmppSaslAuth.cpp +++ b/src/base/QXmppSaslAuth.cpp @@ -36,25 +36,25 @@ 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) + : QXmppSaslStanza("auth", value) + , m_mechanism(mechanism) { } -QByteArray QXmppSaslAuth::value() const +QString QXmppSaslAuth::mechanism() const { - return m_value; + return m_mechanism; } -void QXmppSaslAuth::setValue(const QByteArray &value) +void QXmppSaslAuth::setMechanism(const QString &mechanism) { - m_value = value; + m_mechanism = mechanism; } void QXmppSaslAuth::parse(const QDomElement &element) { m_mechanism = element.attribute("mechanism"); - m_value = QByteArray::fromBase64(element.text().toAscii()); + setValue(QByteArray::fromBase64(element.text().toAscii())); } void QXmppSaslAuth::toXml(QXmlStreamWriter *writer) const @@ -62,11 +62,26 @@ 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()); + if (!value().isEmpty()) + writer->writeCharacters(value().toBase64()); writer->writeEndElement(); } +QXmppSaslChallenge::QXmppSaslChallenge(const QByteArray &value) + : QXmppSaslStanza("challenge", value) +{ +} + +QXmppSaslFailure::QXmppSaslFailure() + : QXmppSaslStanza("failure") +{ +} + +QXmppSaslSuccess::QXmppSaslSuccess() + : QXmppSaslStanza("success") +{ +} + QXmppSaslStanza::QXmppSaslStanza(const QString &type, const QByteArray &value) : m_type(type) , m_value(value) diff --git a/src/base/QXmppSaslAuth_p.h b/src/base/QXmppSaslAuth_p.h index 8d52a09b..87b6dc36 100644 --- a/src/base/QXmppSaslAuth_p.h +++ b/src/base/QXmppSaslAuth_p.h @@ -38,13 +38,13 @@ // We mean it. // -class QXmppSaslAuth : public QXmppStanza +class QXmppSaslStanza : public QXmppStanza { public: - QXmppSaslAuth(const QString &mechanism = QString(), const QByteArray &value = QByteArray()); + QXmppSaslStanza(const QString &type, const QByteArray &value = QByteArray()); - QString mechanism() const; - void setMechanism(const QString &mechanism); + QString type() const; + void setType(const QString &type); QByteArray value() const; void setValue(const QByteArray &value); @@ -55,20 +55,17 @@ public: /// \endcond private: - QString m_mechanism; + QString m_type; QByteArray m_value; }; -class QXmppSaslStanza : public QXmppStanza +class QXmppSaslAuth : public QXmppSaslStanza { public: - QXmppSaslStanza(const QString &type = QString(), const QByteArray &value = QByteArray()); - - QString type() const; - void setType(const QString &type); + QXmppSaslAuth(const QString &mechanism = QString(), const QByteArray &value = QByteArray()); - QByteArray value() const; - void setValue(const QByteArray &value); + QString mechanism() const; + void setMechanism(const QString &mechanism); /// \cond void parse(const QDomElement &element); @@ -76,8 +73,25 @@ public: /// \endcond private: - QString m_type; - QByteArray m_value; + QString m_mechanism; +}; + +class QXmppSaslChallenge : public QXmppSaslStanza +{ +public: + QXmppSaslChallenge(const QByteArray &value = QByteArray()); +}; + +class QXmppSaslFailure : public QXmppSaslStanza +{ +public: + QXmppSaslFailure(); +}; + +class QXmppSaslSuccess : public QXmppSaslStanza +{ +public: + QXmppSaslSuccess(); }; class QXmppSaslClientAnonymous : public QXmppSaslClient |
