// SPDX-FileCopyrightText: 2020 Linus Jahn // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPPUBSUBSUBAUTHORIZATION_H #define QXMPPPUBSUBSUBAUTHORIZATION_H #include "QXmppDataFormBase.h" class QXmppPubSubSubAuthorizationPrivate; class QXMPP_EXPORT QXmppPubSubSubAuthorization : public QXmppExtensibleDataFormBase { public: static std::optional fromDataForm(const QXmppDataForm &); QXmppPubSubSubAuthorization(); QXmppPubSubSubAuthorization(const QXmppPubSubSubAuthorization &); QXmppPubSubSubAuthorization(QXmppPubSubSubAuthorization &&); ~QXmppPubSubSubAuthorization(); QXmppPubSubSubAuthorization &operator=(const QXmppPubSubSubAuthorization &); QXmppPubSubSubAuthorization &operator=(QXmppPubSubSubAuthorization &&); std::optional allowSubscription() const; void setAllowSubscription(std::optional allowSubscription); QString node() const; void setNode(const QString &node); QString subscriberJid() const; void setSubscriberJid(const QString &subscriberJid); QString subid() const; void setSubid(const QString &subid); protected: QString formType() const override; bool parseField(const QXmppDataForm::Field &) override; void serializeForm(QXmppDataForm &) const override; private: QSharedDataPointer d; }; #endif // QXMPPPUBSUBSUBAUTHORIZATION_H