5#ifndef QXMPPPUBSUBMETADATA_H
6#define QXMPPPUBSUBMETADATA_H
8#include "QXmppDataFormBase.h"
9#include "QXmppPubSubNodeConfig.h"
13class QXmppPubSubMetadataPrivate;
24 using ItemLimit = std::variant<Unset, quint64, Max>;
26 QXmppPubSubMetadata();
27 QXmppPubSubMetadata(
const QXmppPubSubMetadata &);
28 QXmppPubSubMetadata(QXmppPubSubMetadata &&);
29 ~QXmppPubSubMetadata();
31 QXmppPubSubMetadata &operator=(
const QXmppPubSubMetadata &);
32 QXmppPubSubMetadata &operator=(QXmppPubSubMetadata &&);
34 QStringList contactJids()
const;
35 void setContactJids(
const QStringList &contactJids);
37 QDateTime creationDate()
const;
38 void setCreationDate(
const QDateTime &creationDate);
40 QString creatorJid()
const;
41 void setCreatorJid(
const QString &creatorJid);
43 QString description()
const;
44 void setDescription(
const QString &description);
46 QString language()
const;
47 void setLanguage(
const QString &language);
49 std::optional<QXmppPubSubNodeConfig::AccessModel> accessModel()
const;
50 void setAccessModel(std::optional<QXmppPubSubNodeConfig::AccessModel> accessModel);
52 std::optional<QXmppPubSubNodeConfig::PublishModel> publishModel()
const;
53 void setPublishModel(std::optional<QXmppPubSubNodeConfig::PublishModel> publishModel);
55 std::optional<quint64> numberOfSubscribers()
const;
56 void setNumberOfSubscribers(
const std::optional<quint64> &numberOfSubscribers);
58 QStringList ownerJids()
const;
59 void setOwnerJids(
const QStringList &ownerJids);
61 QStringList publisherJids()
const;
62 void setPublisherJids(
const QStringList &publisherJids);
64 QString title()
const;
65 void setTitle(
const QString &title);
68 void setType(
const QString &type);
70 ItemLimit maxItems()
const;
71 void setMaxItems(ItemLimit maxItems);
79 QSharedDataPointer<QXmppPubSubMetadataPrivate> d;