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/CMakeLists.txt | 1 + src/base/QXmppPubSubNodeConfig.cpp | 6 ++++++ src/base/QXmppPubSubNodeConfig.h | 10 ++++++++++ src/base/QXmppPubSubPublishOptions.h | 1 + 4 files changed, 18 insertions(+) create mode 100644 src/base/QXmppPubSubPublishOptions.h (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c723aaf1..db7f6d94 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,6 +52,7 @@ set(INSTALL_HEADER_FILES base/QXmppPubSubIq.h base/QXmppPubSubItem.h base/QXmppPubSubNodeConfig.h + base/QXmppPubSubPublishOptions.h base/QXmppPubSubSubscribeOptions.cpp base/QXmppPubSubSubscription.h base/QXmppPubSubSubAuthorization.h 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