diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-12-26 20:19:34 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-12-26 20:48:34 +0100 |
| commit | 71442ab927cd5c1c235528442fe3706f33e7ff6e (patch) | |
| tree | 0fc07e28877a55d8dc379bd26d00c6dd62250cfd /src/base/QXmppPubSubIq.cpp | |
| parent | 847de2ddc00057049de6d7f507711906e7dfd3a8 (diff) | |
| download | qxmpp-71442ab927cd5c1c235528442fe3706f33e7ff6e.tar.gz | |
Move PubSubIq into QXmpp::Private namespace
This way users won't use it accidentally.
Diffstat (limited to 'src/base/QXmppPubSubIq.cpp')
| -rw-r--r-- | src/base/QXmppPubSubIq.cpp | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/src/base/QXmppPubSubIq.cpp b/src/base/QXmppPubSubIq.cpp index ca703c33..d45df2d3 100644 --- a/src/base/QXmppPubSubIq.cpp +++ b/src/base/QXmppPubSubIq.cpp @@ -13,6 +13,10 @@ #include <QSharedData> +using namespace QXmpp::Private; + +/// \cond + /// /// \class QXmppPubSubIqBase /// @@ -80,7 +84,7 @@ static const QStringList PUBSUB_QUERIES = { class QXmppPubSubIqPrivate : public QSharedData { public: - QXmppPubSubIqBase::QueryType queryType = QXmppPubSubIqBase::Items; + PubSubIqBase::QueryType queryType = PubSubIqBase::Items; QString queryJid; QString queryNode; QString subscriptionId; @@ -94,23 +98,23 @@ public: /// /// Constructs a PubSub IQ. /// -QXmppPubSubIqBase::QXmppPubSubIqBase() +PubSubIqBase::PubSubIqBase() : d(new QXmppPubSubIqPrivate) { } /// Default copy-constructor -QXmppPubSubIqBase::QXmppPubSubIqBase(const QXmppPubSubIqBase &iq) = default; +PubSubIqBase::PubSubIqBase(const PubSubIqBase &iq) = default; -QXmppPubSubIqBase::~QXmppPubSubIqBase() = default; +PubSubIqBase::~PubSubIqBase() = default; /// Default assignment operator -QXmppPubSubIqBase &QXmppPubSubIqBase::operator=(const QXmppPubSubIqBase &iq) = default; +PubSubIqBase &PubSubIqBase::operator=(const PubSubIqBase &iq) = default; /// /// Returns the PubSub query type for this IQ. /// -QXmppPubSubIqBase::QueryType QXmppPubSubIqBase::queryType() const +PubSubIqBase::QueryType PubSubIqBase::queryType() const { return d->queryType; } @@ -120,7 +124,7 @@ QXmppPubSubIqBase::QueryType QXmppPubSubIqBase::queryType() const /// /// \param queryType /// -void QXmppPubSubIqBase::setQueryType(QXmppPubSubIqBase::QueryType queryType) +void PubSubIqBase::setQueryType(PubSubIqBase::QueryType queryType) { d->queryType = queryType; } @@ -128,7 +132,7 @@ void QXmppPubSubIqBase::setQueryType(QXmppPubSubIqBase::QueryType queryType) /// /// Returns the JID being queried. /// -QString QXmppPubSubIqBase::queryJid() const +QString PubSubIqBase::queryJid() const { return d->queryJid; } @@ -138,7 +142,7 @@ QString QXmppPubSubIqBase::queryJid() const /// /// \param queryJid /// -void QXmppPubSubIqBase::setQueryJid(const QString &queryJid) +void PubSubIqBase::setQueryJid(const QString &queryJid) { d->queryJid = queryJid; } @@ -146,7 +150,7 @@ void QXmppPubSubIqBase::setQueryJid(const QString &queryJid) /// /// Returns the name of the node being queried. /// -QString QXmppPubSubIqBase::queryNode() const +QString PubSubIqBase::queryNode() const { return d->queryNode; } @@ -156,7 +160,7 @@ QString QXmppPubSubIqBase::queryNode() const /// /// \param queryNodeName /// -void QXmppPubSubIqBase::setQueryNode(const QString &queryNodeName) +void PubSubIqBase::setQueryNode(const QString &queryNodeName) { d->queryNode = queryNodeName; } @@ -166,7 +170,7 @@ void QXmppPubSubIqBase::setQueryNode(const QString &queryNodeName) /// /// This does not work for SubscriptionQuery IQs, use subscription() instead. /// -QString QXmppPubSubIqBase::subscriptionId() const +QString PubSubIqBase::subscriptionId() const { return d->subscriptionId; } @@ -176,7 +180,7 @@ QString QXmppPubSubIqBase::subscriptionId() const /// /// This does not work for SubscriptionQuery IQs, use setSubscription() instead. /// -void QXmppPubSubIqBase::setSubscriptionId(const QString &subscriptionId) +void PubSubIqBase::setSubscriptionId(const QString &subscriptionId) { d->subscriptionId = subscriptionId; } @@ -184,7 +188,7 @@ void QXmppPubSubIqBase::setSubscriptionId(const QString &subscriptionId) /// /// Returns the included subscriptions. /// -QVector<QXmppPubSubSubscription> QXmppPubSubIqBase::subscriptions() const +QVector<QXmppPubSubSubscription> PubSubIqBase::subscriptions() const { return d->subscriptions; } @@ -192,7 +196,7 @@ QVector<QXmppPubSubSubscription> QXmppPubSubIqBase::subscriptions() const /// /// Sets the included subscriptions. /// -void QXmppPubSubIqBase::setSubscriptions(const QVector<QXmppPubSubSubscription> &subscriptions) +void PubSubIqBase::setSubscriptions(const QVector<QXmppPubSubSubscription> &subscriptions) { d->subscriptions = subscriptions; } @@ -204,7 +208,7 @@ void QXmppPubSubIqBase::setSubscriptions(const QVector<QXmppPubSubSubscription> /// subscription if existant. This can be used for both query types, /// Subscription and Subscriptions. /// -std::optional<QXmppPubSubSubscription> QXmppPubSubIqBase::subscription() const +std::optional<QXmppPubSubSubscription> PubSubIqBase::subscription() const { if (d->subscriptions.isEmpty()) { return std::nullopt; @@ -218,7 +222,7 @@ std::optional<QXmppPubSubSubscription> QXmppPubSubIqBase::subscription() const /// This is a utility function for setSubscriptions(). It can be used for both /// query types, Subscription and Subscriptions. /// -void QXmppPubSubIqBase::setSubscription(const std::optional<QXmppPubSubSubscription> &subscription) +void PubSubIqBase::setSubscription(const std::optional<QXmppPubSubSubscription> &subscription) { if (subscription) { d->subscriptions = { *subscription }; @@ -230,7 +234,7 @@ void QXmppPubSubIqBase::setSubscription(const std::optional<QXmppPubSubSubscript /// /// Returns the included affiliations. /// -QVector<QXmppPubSubAffiliation> QXmppPubSubIqBase::affiliations() const +QVector<QXmppPubSubAffiliation> PubSubIqBase::affiliations() const { return d->affiliations; } @@ -238,7 +242,7 @@ QVector<QXmppPubSubAffiliation> QXmppPubSubIqBase::affiliations() const /// /// Sets the included affiliations. /// -void QXmppPubSubIqBase::setAffiliations(const QVector<QXmppPubSubAffiliation> &affiliations) +void PubSubIqBase::setAffiliations(const QVector<QXmppPubSubAffiliation> &affiliations) { d->affiliations = affiliations; } @@ -248,7 +252,7 @@ void QXmppPubSubIqBase::setAffiliations(const QVector<QXmppPubSubAffiliation> &a /// /// This is only used for queries with type ItemsQuery. /// -std::optional<uint32_t> QXmppPubSubIqBase::maxItems() const +std::optional<uint32_t> PubSubIqBase::maxItems() const { if (d->maxItems) { return d->maxItems; @@ -261,7 +265,7 @@ std::optional<uint32_t> QXmppPubSubIqBase::maxItems() const /// /// This is only used for queries with type ItemsQuery. /// -void QXmppPubSubIqBase::setMaxItems(std::optional<uint32_t> maxItems) +void PubSubIqBase::setMaxItems(std::optional<uint32_t> maxItems) { d->maxItems = maxItems.value_or(0); } @@ -269,7 +273,7 @@ void QXmppPubSubIqBase::setMaxItems(std::optional<uint32_t> maxItems) /// /// Returns a data form if the IQ contains one. /// -std::optional<QXmppDataForm> QXmppPubSubIqBase::dataForm() const +std::optional<QXmppDataForm> PubSubIqBase::dataForm() const { return d->dataForm; } @@ -277,7 +281,7 @@ std::optional<QXmppDataForm> QXmppPubSubIqBase::dataForm() const /// /// Sets a data form (or clears it by setting std::nullopt). /// -void QXmppPubSubIqBase::setDataForm(const std::optional<QXmppDataForm> &dataForm) +void PubSubIqBase::setDataForm(const std::optional<QXmppDataForm> &dataForm) { d->dataForm = dataForm; } @@ -287,7 +291,7 @@ void QXmppPubSubIqBase::setDataForm(const std::optional<QXmppDataForm> &dataForm /// /// If this value is set the results are incomplete. /// -std::optional<QXmppResultSetReply> QXmppPubSubIqBase::itemsContinuation() const +std::optional<QXmppResultSetReply> PubSubIqBase::itemsContinuation() const { return d->itemsContinuation; } @@ -297,21 +301,20 @@ std::optional<QXmppResultSetReply> QXmppPubSubIqBase::itemsContinuation() const /// /// If this value is set the results are incomplete. /// -void QXmppPubSubIqBase::setItemsContinuation(const std::optional<QXmppResultSetReply> &itemsContinuation) +void PubSubIqBase::setItemsContinuation(const std::optional<QXmppResultSetReply> &itemsContinuation) { d->itemsContinuation = itemsContinuation; } -/// \cond -bool QXmppPubSubIqBase::isPubSubIq(const QDomElement &element) +bool PubSubIqBase::isPubSubIq(const QDomElement &element) { // no special requirements for the item / it's payload - return QXmppPubSubIqBase::isPubSubIq(element, [](const QDomElement &) { + return PubSubIqBase::isPubSubIq(element, [](const QDomElement &) { return true; }); } -bool QXmppPubSubIqBase::isPubSubIq(const QDomElement &element, bool (*isItemValid)(const QDomElement &)) +bool PubSubIqBase::isPubSubIq(const QDomElement &element, bool (*isItemValid)(const QDomElement &)) { // IQs must have only one direct child element. const auto pubSubElement = element.firstChildElement(); @@ -401,7 +404,7 @@ bool QXmppPubSubIqBase::isPubSubIq(const QDomElement &element, bool (*isItemVali return true; } -void QXmppPubSubIqBase::parseElementFromChild(const QDomElement &element) +void PubSubIqBase::parseElementFromChild(const QDomElement &element) { const auto findChildElement = [](const QDomElement &element, const QString &tag, const QString &namespaceUri) { for (auto subElement = element.firstChildElement(tag); @@ -534,7 +537,7 @@ void QXmppPubSubIqBase::parseElementFromChild(const QDomElement &element) } } -void QXmppPubSubIqBase::toXmlElementFromChild(QXmlStreamWriter *writer) const +void PubSubIqBase::toXmlElementFromChild(QXmlStreamWriter *writer) const { writer->writeStartElement(QStringLiteral("pubsub")); writer->writeDefaultNamespace(queryTypeIsOwnerIq(d->queryType) ? ns_pubsub_owner : ns_pubsub); @@ -646,9 +649,8 @@ void QXmppPubSubIqBase::toXmlElementFromChild(QXmlStreamWriter *writer) const } writer->writeEndElement(); // pubsub } -/// \endcond -std::optional<QXmppPubSubIqBase::QueryType> QXmppPubSubIqBase::queryTypeFromDomElement(const QDomElement &element) +std::optional<PubSubIqBase::QueryType> PubSubIqBase::queryTypeFromDomElement(const QDomElement &element) { QueryType type; if (auto index = PUBSUB_QUERIES.indexOf(element.tagName()); index != -1) { @@ -677,7 +679,7 @@ std::optional<QXmppPubSubIqBase::QueryType> QXmppPubSubIqBase::queryTypeFromDomE } } -bool QXmppPubSubIqBase::queryTypeIsOwnerIq(QueryType type) +bool PubSubIqBase::queryTypeIsOwnerIq(QueryType type) { switch (type) { case OwnerAffiliations: @@ -702,3 +704,5 @@ bool QXmppPubSubIqBase::queryTypeIsOwnerIq(QueryType type) } return false; } + +/// \endcond |
