diff options
| author | Linus Jahn <lnj@kaidan.im> | 2021-09-02 16:14:02 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2021-09-02 16:26:19 +0200 |
| commit | d422c44bb0e908a56058caf1cfdd605756ca6b64 (patch) | |
| tree | 2083af30d0c7cd746c96f4e2529e93e65a687010 /src/base/QXmppPubSubNodeConfig.h | |
| parent | ebd683a4589e34ae4f142bc6ac64ae2b563d78fa (diff) | |
| download | qxmpp-d422c44bb0e908a56058caf1cfdd605756ca6b64.tar.gz | |
PubSubNodeConfig: Add Max option to maxItems
Diffstat (limited to 'src/base/QXmppPubSubNodeConfig.h')
| -rw-r--r-- | src/base/QXmppPubSubNodeConfig.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/base/QXmppPubSubNodeConfig.h b/src/base/QXmppPubSubNodeConfig.h index 16e26709..510feed6 100644 --- a/src/base/QXmppPubSubNodeConfig.h +++ b/src/base/QXmppPubSubNodeConfig.h @@ -27,11 +27,21 @@ #include "QXmppDataForm.h" #include "QXmppDataFormBase.h" +#include <variant> + class QXmppPubSubNodeConfigPrivate; class QXMPP_EXPORT QXmppPubSubNodeConfig : public QXmppExtensibleDataFormBase { public: + struct Unset + { + }; + struct Max + { + }; + using ItemLimit = std::variant<Unset, uint64_t, Max>; + enum AccessModel : uint8_t { Open, Presence, @@ -140,8 +150,9 @@ public: QString language() const; void setLanguage(const QString &language); - std::optional<quint32> maxItems() const; - void setMaxItems(std::optional<quint32> maxItems); + ItemLimit maxItems() const; + void setMaxItems(ItemLimit maxItems); + inline void resetMaxItems() { setMaxItems(Unset()); } std::optional<quint32> maxPayloadSize() const; void setMaxPayloadSize(std::optional<quint32> maxPayloadSize); |
