aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppRegisterIq.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2019-11-16 23:19:21 +0100
committerLNJ <lnj@kaidan.im>2019-12-06 22:26:12 +0100
commit0e06c636f90e5f2a8501816ddb36e22eca54f207 (patch)
tree6bf5a008582e0b1a7f78a60c7c604d0927fe7c86 /src/base/QXmppRegisterIq.cpp
parent46e148fb2d3396ca33bba1aa400e55651c7a9c61 (diff)
downloadqxmpp-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.cpp39
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