aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppPubSubIq.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-12-26 20:19:34 +0100
committerLinus Jahn <lnj@kaidan.im>2022-12-26 20:48:34 +0100
commit71442ab927cd5c1c235528442fe3706f33e7ff6e (patch)
tree0fc07e28877a55d8dc379bd26d00c6dd62250cfd /src/base/QXmppPubSubIq.cpp
parent847de2ddc00057049de6d7f507711906e7dfd3a8 (diff)
downloadqxmpp-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.cpp72
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