From 71442ab927cd5c1c235528442fe3706f33e7ff6e Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Mon, 26 Dec 2022 20:19:34 +0100 Subject: Move PubSubIq into QXmpp::Private namespace This way users won't use it accidentally. --- src/base/QXmppPubSubIq.cpp | 72 ++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 34 deletions(-) (limited to 'src/base/QXmppPubSubIq.cpp') 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 +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 QXmppPubSubIqBase::subscriptions() const +QVector PubSubIqBase::subscriptions() const { return d->subscriptions; } @@ -192,7 +196,7 @@ QVector QXmppPubSubIqBase::subscriptions() const /// /// Sets the included subscriptions. /// -void QXmppPubSubIqBase::setSubscriptions(const QVector &subscriptions) +void PubSubIqBase::setSubscriptions(const QVector &subscriptions) { d->subscriptions = subscriptions; } @@ -204,7 +208,7 @@ void QXmppPubSubIqBase::setSubscriptions(const QVector /// subscription if existant. This can be used for both query types, /// Subscription and Subscriptions. /// -std::optional QXmppPubSubIqBase::subscription() const +std::optional PubSubIqBase::subscription() const { if (d->subscriptions.isEmpty()) { return std::nullopt; @@ -218,7 +222,7 @@ std::optional 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 &subscription) +void PubSubIqBase::setSubscription(const std::optional &subscription) { if (subscription) { d->subscriptions = { *subscription }; @@ -230,7 +234,7 @@ void QXmppPubSubIqBase::setSubscription(const std::optional QXmppPubSubIqBase::affiliations() const +QVector PubSubIqBase::affiliations() const { return d->affiliations; } @@ -238,7 +242,7 @@ QVector QXmppPubSubIqBase::affiliations() const /// /// Sets the included affiliations. /// -void QXmppPubSubIqBase::setAffiliations(const QVector &affiliations) +void PubSubIqBase::setAffiliations(const QVector &affiliations) { d->affiliations = affiliations; } @@ -248,7 +252,7 @@ void QXmppPubSubIqBase::setAffiliations(const QVector &a /// /// This is only used for queries with type ItemsQuery. /// -std::optional QXmppPubSubIqBase::maxItems() const +std::optional PubSubIqBase::maxItems() const { if (d->maxItems) { return d->maxItems; @@ -261,7 +265,7 @@ std::optional QXmppPubSubIqBase::maxItems() const /// /// This is only used for queries with type ItemsQuery. /// -void QXmppPubSubIqBase::setMaxItems(std::optional maxItems) +void PubSubIqBase::setMaxItems(std::optional maxItems) { d->maxItems = maxItems.value_or(0); } @@ -269,7 +273,7 @@ void QXmppPubSubIqBase::setMaxItems(std::optional maxItems) /// /// Returns a data form if the IQ contains one. /// -std::optional QXmppPubSubIqBase::dataForm() const +std::optional PubSubIqBase::dataForm() const { return d->dataForm; } @@ -277,7 +281,7 @@ std::optional QXmppPubSubIqBase::dataForm() const /// /// Sets a data form (or clears it by setting std::nullopt). /// -void QXmppPubSubIqBase::setDataForm(const std::optional &dataForm) +void PubSubIqBase::setDataForm(const std::optional &dataForm) { d->dataForm = dataForm; } @@ -287,7 +291,7 @@ void QXmppPubSubIqBase::setDataForm(const std::optional &dataForm /// /// If this value is set the results are incomplete. /// -std::optional QXmppPubSubIqBase::itemsContinuation() const +std::optional PubSubIqBase::itemsContinuation() const { return d->itemsContinuation; } @@ -297,21 +301,20 @@ std::optional QXmppPubSubIqBase::itemsContinuation() const /// /// If this value is set the results are incomplete. /// -void QXmppPubSubIqBase::setItemsContinuation(const std::optional &itemsContinuation) +void PubSubIqBase::setItemsContinuation(const std::optional &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::queryTypeFromDomElement(const QDomElement &element) +std::optional PubSubIqBase::queryTypeFromDomElement(const QDomElement &element) { QueryType type; if (auto index = PUBSUB_QUERIES.indexOf(element.tagName()); index != -1) { @@ -677,7 +679,7 @@ std::optional 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 -- cgit v1.2.3