diff options
| author | Linus Jahn <lnj@kaidan.im> | 2019-11-16 23:19:21 +0100 |
|---|---|---|
| committer | LNJ <lnj@kaidan.im> | 2019-12-06 22:26:12 +0100 |
| commit | 0e06c636f90e5f2a8501816ddb36e22eca54f207 (patch) | |
| tree | 6bf5a008582e0b1a7f78a60c7c604d0927fe7c86 /src/base/QXmppRegisterIq.cpp | |
| parent | 46e148fb2d3396ca33bba1aa400e55651c7a9c61 (diff) | |
| download | qxmpp-0e06c636f90e5f2a8501816ddb36e22eca54f207.tar.gz | |
Implement XEP-0231: Bits of Binary: register IQ extension
This adds support for XEP-0231: Bits of Binary attachments in
registration forms.
Diffstat (limited to 'src/base/QXmppRegisterIq.cpp')
| -rw-r--r-- | src/base/QXmppRegisterIq.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/base/QXmppRegisterIq.cpp b/src/base/QXmppRegisterIq.cpp index 96ecb7f6..cee9fd7f 100644 --- a/src/base/QXmppRegisterIq.cpp +++ b/src/base/QXmppRegisterIq.cpp @@ -25,6 +25,7 @@ #include "QXmppConstants_p.h" #include "QXmppRegisterIq.h" +#include "QXmppBitsOfBinaryDataList.h" class QXmppRegisterIqPrivate : public QSharedData { @@ -34,6 +35,7 @@ public: QString instructions; QString password; QString username; + QXmppBitsOfBinaryDataList bitsOfBinaryData; }; QXmppRegisterIq::QXmppRegisterIq() @@ -119,6 +121,39 @@ void QXmppRegisterIq::setUsername(const QString &username) d->username = username; } +/// Returns a list of data packages attached using XEP-0231: Bits of Binary. +/// +/// This could be used to resolve a \c cid: URL of an CAPTCHA field of the +/// form. +/// +/// \since QXmpp 1.2 + +QXmppBitsOfBinaryDataList QXmppRegisterIq::bitsOfBinaryData() const +{ + return d->bitsOfBinaryData; +} + +/// Returns a list of data attached using XEP-0231: Bits of Binary. +/// +/// This could be used to resolve a \c cid: URL of an CAPTCHA field of the +/// form. +/// +/// \since QXmpp 1.2 + +QXmppBitsOfBinaryDataList &QXmppRegisterIq::bitsOfBinaryData() +{ + return d->bitsOfBinaryData; +} + +/// Sets a list of XEP-0231: Bits of Binary attachments to be included. +/// +/// \since QXmpp 1.2 + +void QXmppRegisterIq::setBitsOfBinaryData(const QXmppBitsOfBinaryDataList &bitsOfBinaryData) +{ + d->bitsOfBinaryData = bitsOfBinaryData; +} + /// \cond bool QXmppRegisterIq::isRegisterIq(const QDomElement &element) { @@ -133,6 +168,7 @@ void QXmppRegisterIq::parseElementFromChild(const QDomElement &element) d->password = queryElement.firstChildElement("password").text(); d->email = queryElement.firstChildElement("email").text(); d->form.parse(queryElement.firstChildElement("x")); + d->bitsOfBinaryData.parse(queryElement); } void QXmppRegisterIq::toXmlElementFromChild(QXmlStreamWriter *writer) const @@ -158,6 +194,9 @@ void QXmppRegisterIq::toXmlElementFromChild(QXmlStreamWriter *writer) const writer->writeEmptyElement("email"); d->form.toXml(writer); + d->bitsOfBinaryData.toXml(writer); + writer->writeEndElement(); } + /// \endcond |
