5 #ifndef QXMPPPUBSUBSUBSCRIBEOPTIONS_H 6 #define QXMPPPUBSUBSUBSCRIBEOPTIONS_H 8 #include "QXmppDataForm.h" 9 #include "QXmppDataFormBase.h" 10 #include "QXmppGlobal.h" 13 #include <QSharedDataPointer> 17 class QXmlStreamWriter;
19 class QXmppPubSubSubscribeOptionsPrivate;
24 enum PresenceState : uint8_t {
32 Q_DECLARE_FLAGS(PresenceStates, PresenceState)
33 static PresenceStates presenceStatesFromStringList(
const QStringList &);
34 static QStringList presenceStatesToStringList(PresenceStates);
36 enum SubscriptionType : uint8_t {
41 enum SubscriptionDepth : uint8_t {
48 QXmppPubSubSubscribeOptions();
49 QXmppPubSubSubscribeOptions(
const QXmppPubSubSubscribeOptions &);
50 QXmppPubSubSubscribeOptions(QXmppPubSubSubscribeOptions &&);
51 ~QXmppPubSubSubscribeOptions()
override;
53 QXmppPubSubSubscribeOptions &operator=(
const QXmppPubSubSubscribeOptions &);
54 QXmppPubSubSubscribeOptions &operator=(QXmppPubSubSubscribeOptions &&);
56 std::optional<bool> notificationsEnabled()
const;
57 void setNotificationsEnabled(std::optional<bool> notifying);
59 std::optional<bool> digestsEnabled()
const;
60 void setDigestsEnabled(std::optional<bool> digestsEnabled);
62 std::optional<quint32> digestFrequencyMs()
const;
63 void setDigestFrequencyMs(std::optional<quint32> digestFrequencyMs);
65 QDateTime expire()
const;
66 void setExpire(
const QDateTime &expire);
68 std::optional<bool> bodyIncluded()
const;
69 void setBodyIncluded(std::optional<bool> bodyIncluded);
71 PresenceStates notificationRules()
const;
72 void setNotificationRules(PresenceStates notificationRules);
74 std::optional<SubscriptionType> subscriptionType()
const;
75 void setSubscriptionType(std::optional<SubscriptionType> subscriptionType);
77 std::optional<SubscriptionDepth> subscriptionDepth()
const;
78 void setSubscriptionDepth(std::optional<SubscriptionDepth> subscriptionDepth);
86 QSharedDataPointer<QXmppPubSubSubscribeOptionsPrivate> d;
89 Q_DECLARE_OPERATORS_FOR_FLAGS(QXmppPubSubSubscribeOptions::PresenceStates)
90 Q_DECLARE_METATYPE(QXmppPubSubSubscribeOptions)
92 #endif // QXMPPPUBSUBSUBSCRIBEOPTIONS_H