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 | |
| 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')
| -rw-r--r-- | src/base/QXmppPubSubIq.cpp | 72 | ||||
| -rw-r--r-- | src/base/QXmppPubSubIq_p.h | 28 | ||||
| -rw-r--r-- | src/client/QXmppPubSubManager.cpp | 100 | ||||
| -rw-r--r-- | src/client/QXmppPubSubManager.h | 18 |
4 files changed, 113 insertions, 105 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 diff --git a/src/base/QXmppPubSubIq_p.h b/src/base/QXmppPubSubIq_p.h index ac33766a..eb5ed43f 100644 --- a/src/base/QXmppPubSubIq_p.h +++ b/src/base/QXmppPubSubIq_p.h @@ -20,7 +20,9 @@ class QXmppPubSubSubscription; class QXmppPubSubAffiliation; class QXmppResultSetReply; -class QXMPP_EXPORT QXmppPubSubIqBase : public QXmppIq +namespace QXmpp::Private { + +class QXMPP_EXPORT PubSubIqBase : public QXmppIq { public: /// This enum is used to describe a publish-subscribe query type. @@ -44,11 +46,11 @@ public: Unsubscribe, }; - QXmppPubSubIqBase(); - QXmppPubSubIqBase(const QXmppPubSubIqBase &other); - ~QXmppPubSubIqBase(); + PubSubIqBase(); + PubSubIqBase(const PubSubIqBase &other); + ~PubSubIqBase(); - QXmppPubSubIqBase &operator=(const QXmppPubSubIqBase &other); + PubSubIqBase &operator=(const PubSubIqBase &other); QueryType queryType() const; void setQueryType(QueryType queryType); @@ -102,7 +104,7 @@ private: }; template<typename T = QXmppPubSubItem> -class QXmppPubSubIq : public QXmppPubSubIqBase +class PubSubIq : public PubSubIqBase { public: QVector<T> items() const; @@ -121,28 +123,28 @@ private: }; template<typename T> -QVector<T> QXmppPubSubIq<T>::items() const +QVector<T> PubSubIq<T>::items() const { return m_items; } template<typename T> -void QXmppPubSubIq<T>::setItems(const QVector<T> &items) +void PubSubIq<T>::setItems(const QVector<T> &items) { m_items = items; } template<typename T> -bool QXmppPubSubIq<T>::isPubSubIq(const QDomElement &element) +bool PubSubIq<T>::isPubSubIq(const QDomElement &element) { - return QXmppPubSubIqBase::isPubSubIq(element, [](const QDomElement &item) -> bool { + return PubSubIqBase::isPubSubIq(element, [](const QDomElement &item) -> bool { return T::isItem(item); }); } /// \cond template<typename T> -void QXmppPubSubIq<T>::parseItems(const QDomElement &queryElement) +void PubSubIq<T>::parseItems(const QDomElement &queryElement) { for (auto childElement = queryElement.firstChildElement(QStringLiteral("item")); !childElement.isNull(); @@ -154,7 +156,7 @@ void QXmppPubSubIq<T>::parseItems(const QDomElement &queryElement) } template<typename T> -void QXmppPubSubIq<T>::serializeItems(QXmlStreamWriter *writer) const +void PubSubIq<T>::serializeItems(QXmlStreamWriter *writer) const { for (const auto &item : std::as_const(m_items)) { item.toXml(writer); @@ -162,4 +164,6 @@ void QXmppPubSubIq<T>::serializeItems(QXmlStreamWriter *writer) const } /// \endcond +} // namespace QXmpp::Private + #endif // QXMPPPUBSUBIQ_H diff --git a/src/client/QXmppPubSubManager.cpp b/src/client/QXmppPubSubManager.cpp index 7d21db80..07dbff35 100644 --- a/src/client/QXmppPubSubManager.cpp +++ b/src/client/QXmppPubSubManager.cpp @@ -293,9 +293,9 @@ QFuture<QXmppPubSubManager::NodesResult> QXmppPubSubManager::fetchNodes(const QS /// auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName) -> QFuture<Result> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Create); + request.setQueryType(PubSubIq<>::Create); request.setQueryNode(nodeName); request.setTo(jid); @@ -316,9 +316,9 @@ auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName) /// auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName, const QXmppPubSubNodeConfig &config) -> QFuture<Result> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Create); + request.setQueryType(PubSubIq<>::Create); request.setQueryNode(nodeName); request.setTo(jid); request.setDataForm(config); @@ -337,13 +337,13 @@ auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName, /// QFuture<QXmppPubSubManager::InstantNodeResult> QXmppPubSubManager::createInstantNode(const QString &jid) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Create); + request.setQueryType(PubSubIq<>::Create); request.setTo(jid); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> InstantNodeResult { + [](const PubSubIq<> &iq) -> InstantNodeResult { return iq.queryNode(); }); } @@ -360,14 +360,14 @@ QFuture<QXmppPubSubManager::InstantNodeResult> QXmppPubSubManager::createInstant /// auto QXmppPubSubManager::createInstantNode(const QString &jid, const QXmppPubSubNodeConfig &config) -> QFuture<InstantNodeResult> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Create); + request.setQueryType(PubSubIq<>::Create); request.setTo(jid); request.setDataForm(config); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> InstantNodeResult { + [](const PubSubIq<> &iq) -> InstantNodeResult { return iq.queryNode(); }); } @@ -381,9 +381,9 @@ auto QXmppPubSubManager::createInstantNode(const QString &jid, const QXmppPubSub /// auto QXmppPubSubManager::deleteNode(const QString &jid, const QString &nodeName) -> QFuture<Result> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Delete); + request.setQueryType(PubSubIq<>::Delete); request.setQueryNode(nodeName); request.setTo(jid); @@ -430,9 +430,9 @@ QFuture<QXmppPubSubManager::ItemIdsResult> QXmppPubSubManager::requestItemIds(co /// auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName, const QString &itemId) -> QFuture<Result> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Retract); + request.setQueryType(PubSubIq<>::Retract); request.setQueryNode(nodeName); request.setItems({ QXmppPubSubItem(itemId) }); request.setTo(jid); @@ -462,9 +462,9 @@ auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName /// auto QXmppPubSubManager::purgeItems(const QString &jid, const QString &nodeName) -> QFuture<Result> { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIq<>::Purge); + request.setQueryType(PubSubIq<>::Purge); request.setQueryNode(nodeName); request.setTo(jid); @@ -491,14 +491,14 @@ QFuture<QXmppPubSubManager::SubscriptionsResult> QXmppPubSubManager::requestSubs /// QFuture<QXmppPubSubManager::SubscriptionsResult> QXmppPubSubManager::requestSubscriptions(const QString &jid, const QString &nodeName) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Get); request.setTo(jid); - request.setQueryType(QXmppPubSubIq<>::Subscriptions); + request.setQueryType(PubSubIq<>::Subscriptions); request.setQueryNode(nodeName); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> SubscriptionsResult { + [](const PubSubIq<> &iq) -> SubscriptionsResult { return iq.subscriptions(); }); } @@ -515,14 +515,14 @@ QFuture<QXmppPubSubManager::SubscriptionsResult> QXmppPubSubManager::requestSubs /// QFuture<QXmppPubSubManager::AffiliationsResult> QXmppPubSubManager::requestNodeAffiliations(const QString &jid, const QString &nodeName) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Get); request.setTo(jid); - request.setQueryType(QXmppPubSubIq<>::OwnerAffiliations); + request.setQueryType(PubSubIq<>::OwnerAffiliations); request.setQueryNode(nodeName); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> AffiliationsResult { + [](const PubSubIq<> &iq) -> AffiliationsResult { return iq.affiliations(); }); } @@ -547,14 +547,14 @@ QFuture<QXmppPubSubManager::AffiliationsResult> QXmppPubSubManager::requestAffil /// QFuture<QXmppPubSubManager::AffiliationsResult> QXmppPubSubManager::requestAffiliations(const QString &jid, const QString &nodeName) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Get); request.setTo(jid); - request.setQueryType(QXmppPubSubIq<>::Affiliations); + request.setQueryType(PubSubIq<>::Affiliations); request.setQueryNode(nodeName); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> AffiliationsResult { + [](const PubSubIq<> &iq) -> AffiliationsResult { return iq.affiliations(); }); } @@ -581,15 +581,15 @@ QFuture<QXmppPubSubManager::OptionsResult> QXmppPubSubManager::requestSubscribeO /// QFuture<QXmppPubSubManager::OptionsResult> QXmppPubSubManager::requestSubscribeOptions(const QString &service, const QString &nodeName, const QString &subscriberJid) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Get); request.setTo(service); - request.setQueryType(QXmppPubSubIq<>::Options); + request.setQueryType(PubSubIq<>::Options); request.setQueryNode(nodeName); request.setQueryJid(subscriberJid); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> OptionsResult { + [](const PubSubIq<> &iq) -> OptionsResult { if (const auto form = iq.dataForm()) { if (const auto options = QXmppPubSubSubscribeOptions::fromDataForm(*form)) { return *options; @@ -628,10 +628,10 @@ QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::setSubscribeOptions(cons /// QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::setSubscribeOptions(const QString &service, const QString &nodeName, const QXmppPubSubSubscribeOptions &options, const QString &subscriberJid) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); request.setTo(service); - request.setQueryType(QXmppPubSubIq<>::Options); + request.setQueryType(PubSubIq<>::Options); request.setDataForm(options); request.setQueryNode(nodeName); request.setQueryJid(subscriberJid); @@ -656,14 +656,14 @@ QFuture<QXmppPubSubManager::NodeConfigResult> QXmppPubSubManager::requestNodeCon { using Error = QXmppStanza::Error; - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Get); request.setTo(service); request.setQueryNode(nodeName); - request.setQueryType(QXmppPubSubIq<>::Configure); + request.setQueryType(PubSubIq<>::Configure); return chainIq(client()->sendIq(std::move(request)), this, - [](QXmppPubSubIq<> &&iq) -> NodeConfigResult { + [](PubSubIq<> &&iq) -> NodeConfigResult { if (const auto dataForm = iq.dataForm()) { if (const auto config = QXmppPubSubNodeConfig::fromDataForm(*dataForm)) { return *config; @@ -689,11 +689,11 @@ QFuture<QXmppPubSubManager::NodeConfigResult> QXmppPubSubManager::requestNodeCon /// QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::configureNode(const QString &service, const QString &nodeName, const QXmppPubSubNodeConfig &config) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); request.setTo(service); request.setQueryNode(nodeName); - request.setQueryType(QXmppPubSubIq<>::Configure); + request.setQueryType(PubSubIq<>::Configure); request.setDataForm(config); return client()->sendGenericIq(std::move(request)); } @@ -710,11 +710,11 @@ QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::configureNode(const QStr /// QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::cancelNodeConfiguration(const QString &service, const QString &nodeName) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); request.setTo(service); request.setQueryNode(nodeName); - request.setQueryType(QXmppPubSubIq<>::Configure); + request.setQueryType(PubSubIq<>::Configure); request.setDataForm(QXmppDataForm(QXmppDataForm::Cancel)); return client()->sendGenericIq(std::move(request)); } @@ -730,11 +730,11 @@ QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::cancelNodeConfiguration( /// QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::subscribeToNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); request.setTo(serviceJid); request.setQueryNode(nodeName); - request.setQueryType(QXmppPubSubIq<>::Subscribe); + request.setQueryType(PubSubIq<>::Subscribe); request.setQueryJid(subscriberJid); return client()->sendGenericIq(std::move(request)); } @@ -750,11 +750,11 @@ QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::subscribeToNode(const QS /// QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::unsubscribeFromNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) { - QXmppPubSubIq request; + PubSubIq request; request.setType(QXmppIq::Set); request.setTo(serviceJid); request.setQueryNode(nodeName); - request.setQueryType(QXmppPubSubIq<>::Unsubscribe); + request.setQueryType(PubSubIq<>::Unsubscribe); request.setQueryJid(subscriberJid); return client()->sendGenericIq(std::move(request)); } @@ -1001,12 +1001,12 @@ bool QXmppPubSubManager::handleStanza(const QDomElement &element) return false; } -QXmppPubSubIq<> QXmppPubSubManager::requestItemsIq(const QString &jid, const QString &nodeName, const QStringList &itemIds) +PubSubIq<> QXmppPubSubManager::requestItemsIq(const QString &jid, const QString &nodeName, const QStringList &itemIds) { - QXmppPubSubIq request; + PubSubIq request; request.setTo(jid); request.setType(QXmppIq::Get); - request.setQueryType(QXmppPubSubIqBase::Items); + request.setQueryType(PubSubIqBase::Items); request.setQueryNode(nodeName); if (!itemIds.isEmpty()) { @@ -1020,13 +1020,13 @@ QXmppPubSubIq<> QXmppPubSubManager::requestItemsIq(const QString &jid, const QSt return request; } -auto QXmppPubSubManager::publishItem(QXmppPubSubIqBase &&request) -> QFuture<PublishItemResult> +auto QXmppPubSubManager::publishItem(PubSubIqBase &&request) -> QFuture<PublishItemResult> { request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIqBase::Publish); + request.setQueryType(PubSubIqBase::Publish); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> PublishItemResult { + [](const PubSubIq<> &iq) -> PublishItemResult { if (!iq.items().isEmpty()) { return iq.items().constFirst().id(); } else { @@ -1035,13 +1035,13 @@ auto QXmppPubSubManager::publishItem(QXmppPubSubIqBase &&request) -> QFuture<Pub }); } -auto QXmppPubSubManager::publishItems(QXmppPubSubIqBase &&request) -> QFuture<PublishItemsResult> +auto QXmppPubSubManager::publishItems(PubSubIqBase &&request) -> QFuture<PublishItemsResult> { request.setType(QXmppIq::Set); - request.setQueryType(QXmppPubSubIqBase::Publish); + request.setQueryType(PubSubIqBase::Publish); return chainIq(client()->sendIq(std::move(request)), this, - [](const QXmppPubSubIq<> &iq) -> PublishItemsResult { + [](const PubSubIq<> &iq) -> PublishItemsResult { const auto itemToId = [](const QXmppPubSubItem &item) { return item.id(); }; diff --git a/src/client/QXmppPubSubManager.h b/src/client/QXmppPubSubManager.h index 912de5d7..b3e99552 100644 --- a/src/client/QXmppPubSubManager.h +++ b/src/client/QXmppPubSubManager.h @@ -153,9 +153,9 @@ public: /// \endcond private: - QFuture<PublishItemResult> publishItem(QXmppPubSubIqBase &&iq); - QFuture<PublishItemsResult> publishItems(QXmppPubSubIqBase &&iq); - static QXmppPubSubIq<> requestItemsIq(const QString &jid, const QString &nodeName, const QStringList &itemIds); + QFuture<PublishItemResult> publishItem(QXmpp::Private::PubSubIqBase &&iq); + QFuture<PublishItemsResult> publishItems(QXmpp::Private::PubSubIqBase &&iq); + static QXmpp::Private::PubSubIq<> requestItemsIq(const QString &jid, const QString &nodeName, const QStringList &itemIds); // We may need a d-ptr in the future. void *d = nullptr; @@ -178,7 +178,7 @@ QFuture<QXmppPubSubManager::ItemResult<T>> QXmppPubSubManager::requestItem(const using namespace QXmpp::Private; using Error = QXmppStanza::Error; return chainIq(client()->sendIq(requestItemsIq(jid, nodeName, { itemId })), this, - [](QXmppPubSubIq<T> &&iq) -> ItemResult<T> { + [](PubSubIq<T> &&iq) -> ItemResult<T> { if (!iq.items().isEmpty()) { return iq.items().constFirst(); } @@ -235,7 +235,7 @@ QFuture<QXmppPubSubManager::ItemsResult<T>> QXmppPubSubManager::requestItems(con { using namespace QXmpp::Private; return chainIq(client()->sendIq(requestItemsIq(jid, nodeName, itemIds)), this, - [](QXmppPubSubIq<T> &&iq) -> ItemsResult<T> { + [](PubSubIq<T> &&iq) -> ItemsResult<T> { return Items<T> { iq.items(), iq.itemsContinuation(), @@ -259,7 +259,7 @@ QFuture<QXmppPubSubManager::PublishItemResult> QXmppPubSubManager::publishItem(c const QString &nodeName, const T &item) { - QXmppPubSubIq<T> request; + QXmpp::Private::PubSubIq<T> request; request.setTo(jid); request.setItems({ item }); request.setQueryNode(nodeName); @@ -284,7 +284,7 @@ QFuture<QXmppPubSubManager::PublishItemResult> QXmppPubSubManager::publishItem(c const T &item, const QXmppPubSubPublishOptions &publishOptions) { - QXmppPubSubIq<T> request; + QXmpp::Private::PubSubIq<T> request; request.setTo(jid); request.setItems({ item }); request.setQueryNode(nodeName); @@ -305,7 +305,7 @@ QFuture<QXmppPubSubManager::PublishItemsResult> QXmppPubSubManager::publishItems const QString &nodeName, const QVector<T> &items) { - QXmppPubSubIq<T> request; + QXmpp::Private::PubSubIq<T> request; request.setTo(jid); request.setItems(items); request.setQueryNode(nodeName); @@ -327,7 +327,7 @@ QFuture<QXmppPubSubManager::PublishItemsResult> QXmppPubSubManager::publishItems const QVector<T> &items, const QXmppPubSubPublishOptions &publishOptions) { - QXmppPubSubIq<T> request; + QXmpp::Private::PubSubIq<T> request; request.setTo(jid); request.setItems(items); request.setQueryNode(nodeName); |
