5#ifndef QXMPPPUBSUBMETADATA_H
6#define QXMPPPUBSUBMETADATA_H
8#include "QXmppDataFormBase.h"
9#include "QXmppPubSubNodeConfig.h"
13class QXmppPubSubMetadataPrivate;
20 using ItemLimit = std::variant<Unset, quint64, Max>;
22 QXmppPubSubMetadata();
23 QXmppPubSubMetadata(
const QXmppPubSubMetadata &);
24 QXmppPubSubMetadata(QXmppPubSubMetadata &&);
25 ~QXmppPubSubMetadata();
27 QXmppPubSubMetadata &operator=(
const QXmppPubSubMetadata &);
28 QXmppPubSubMetadata &operator=(QXmppPubSubMetadata &&);
30 QStringList contactJids()
const;
31 void setContactJids(
const QStringList &contactJids);
33 QDateTime creationDate()
const;
34 void setCreationDate(
const QDateTime &creationDate);
36 QString creatorJid()
const;
37 void setCreatorJid(
const QString &creatorJid);
39 QString description()
const;
40 void setDescription(
const QString &description);
42 QString language()
const;
43 void setLanguage(
const QString &language);
45 std::optional<QXmppPubSubNodeConfig::AccessModel> accessModel()
const;
46 void setAccessModel(std::optional<QXmppPubSubNodeConfig::AccessModel> accessModel);
48 std::optional<QXmppPubSubNodeConfig::PublishModel> publishModel()
const;
49 void setPublishModel(std::optional<QXmppPubSubNodeConfig::PublishModel> publishModel);
51 std::optional<quint64> numberOfSubscribers()
const;
52 void setNumberOfSubscribers(
const std::optional<quint64> &numberOfSubscribers);
54 QStringList ownerJids()
const;
55 void setOwnerJids(
const QStringList &ownerJids);
57 QStringList publisherJids()
const;
58 void setPublisherJids(
const QStringList &publisherJids);
60 QString title()
const;
61 void setTitle(
const QString &title);
64 void setType(
const QString &type);
66 ItemLimit maxItems()
const;
67 void setMaxItems(ItemLimit maxItems);
75 QSharedDataPointer<QXmppPubSubMetadataPrivate> d;