From 66ee49093aec057c783edf9a39689af7b2bd8488 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Mon, 7 Sep 2020 17:07:09 +0200 Subject: Add PubSubPublishOptions form --- src/base/QXmppPubSubNodeConfig.cpp | 6 ++++++ src/base/QXmppPubSubNodeConfig.h | 10 ++++++++++ src/base/QXmppPubSubPublishOptions.h | 1 + 3 files changed, 17 insertions(+) create mode 100644 src/base/QXmppPubSubPublishOptions.h (limited to 'src/base') diff --git a/src/base/QXmppPubSubNodeConfig.cpp b/src/base/QXmppPubSubNodeConfig.cpp index 731bdf16..c7010e5b 100644 --- a/src/base/QXmppPubSubNodeConfig.cpp +++ b/src/base/QXmppPubSubNodeConfig.cpp @@ -24,6 +24,7 @@ #include "QXmppPubSubNodeConfig.h" static const auto NODE_CONFIG_FORM_TYPE = QStringLiteral(u"http://jabber.org/protocol/pubsub#node_config"); +static const auto PUBLISH_OPTIONS_FORM_TYPE = QStringLiteral("http://jabber.org/protocol/pubsub#publish-options"); static const auto ACCESS_MODEL = QStringLiteral("pubsub#access_model"); static const auto BODY_XSLT = QStringLiteral("pubsub#body_xslt"); @@ -839,3 +840,8 @@ void QXmppPubSubNodeConfig::serializeForm(QXmppDataForm &form) const PAYLOAD_TYPE, d->payloadType); } + +QString QXmppPubSubPublishOptions::formType() const +{ + return PUBLISH_OPTIONS_FORM_TYPE; +} diff --git a/src/base/QXmppPubSubNodeConfig.h b/src/base/QXmppPubSubNodeConfig.h index 4b9de9c7..16e26709 100644 --- a/src/base/QXmppPubSubNodeConfig.h +++ b/src/base/QXmppPubSubNodeConfig.h @@ -203,6 +203,16 @@ private: QSharedDataPointer d; }; +class QXMPP_EXPORT QXmppPubSubPublishOptions : public QXmppPubSubNodeConfig +{ +public: + static std::optional fromDataForm(const QXmppDataForm &form); + +protected: + QString formType() const override; +}; + Q_DECLARE_METATYPE(QXmppPubSubNodeConfig); +Q_DECLARE_METATYPE(QXmppPubSubPublishOptions); #endif // QXMPPPUBSUBNODECONFIG_H diff --git a/src/base/QXmppPubSubPublishOptions.h b/src/base/QXmppPubSubPublishOptions.h new file mode 100644 index 00000000..e2a074eb --- /dev/null +++ b/src/base/QXmppPubSubPublishOptions.h @@ -0,0 +1 @@ +#include "QXmppPubSubNodeConfig.h" -- cgit v1.2.3