From d306ed08aa9d681a0b51ebbf2ec2a00b70b61018 Mon Sep 17 00:00:00 2001 From: Melvin Keskin Date: Thu, 27 Jan 2022 15:50:07 +0100 Subject: PubSubManager: Add PEP overloads for requestItem and similar --- src/client/QXmppPubSubManager.cpp | 50 +++++++++++++++++++++++++++++++++++++++ src/client/QXmppPubSubManager.h | 7 ++++++ 2 files changed, 57 insertions(+) (limited to 'src/client') diff --git a/src/client/QXmppPubSubManager.cpp b/src/client/QXmppPubSubManager.cpp index 52cb5de8..8e2a1b6f 100644 --- a/src/client/QXmppPubSubManager.cpp +++ b/src/client/QXmppPubSubManager.cpp @@ -740,6 +740,56 @@ QFuture QXmppPubSubManager::unsubscribeFromNode(cons /// \return /// +/// +/// \fn QXmppPubSubManager::requestPepItem(const QString &nodeName, const QString &itemId) +/// +/// Requests a specific item of a PEP node. +/// +/// This is a convenience method equivalent to calling +/// QXmppPubSubManager::requestItem on the current account's bare JID. +/// +/// \param nodeName name of the PEP node whose item is requested +/// \param itemId ID of the requested item +/// + +/// +/// \fn QXmppPubSubManager::requestPepItem(const QString &nodeName, StandardItemId itemId) +/// +/// Requests a specific item of a PEP node. +/// +/// The default value of itemId is used for singleton nodes (i.e., the node's +/// single item is requested). +/// +/// This is a convenience method equivalent to calling +/// QXmppPubSubManager::requestItem on the current account's bare JID. +/// +/// \param nodeName name of the PEP node whose item is requested +/// \param itemId ID of the requested item +/// + +/// +/// \fn QXmppPubSubManager::requestPepItems(const QString &nodeName) +/// +/// Requests all items of a PEP node. +/// +/// This is a convenience method equivalent to calling +/// QXmppPubSubManager::requestItems on the current account's bare JID. +/// +/// \param nodeName name of the PEP node whose items are requested +/// + +/// +/// \fn QXmppPubSubManager::requestPepItemIds(const QString &nodeName) +/// +/// Requests the IDs of all items of a pubsub service node via service +/// discovery. +/// +/// This is a convenience method equivalent to calling +/// QXmppPubSubManager::requestItemIds on the current account's bare JID. +/// +/// \param nodeName name of the PEP node whose item IDs are requested +/// + /// /// \fn QXmppPubSubManager::retractPepItem(const QString &nodeName, const QString &itemId) /// diff --git a/src/client/QXmppPubSubManager.h b/src/client/QXmppPubSubManager.h index 63c14f22..8e02f801 100644 --- a/src/client/QXmppPubSubManager.h +++ b/src/client/QXmppPubSubManager.h @@ -104,6 +104,13 @@ public: inline QFuture createPepNode(const QString &nodeName) { return createNode(client()->configuration().jidBare(), nodeName); } inline QFuture createPepNode(const QString &nodeName, const QXmppPubSubNodeConfig &config) { return createNode(client()->configuration().jidBare(), nodeName, config); } inline QFuture deletePepNode(const QString &nodeName) { return deleteNode(client()->configuration().jidBare(), nodeName); } + template + inline QFuture> requestPepItem(const QString &nodeName, const QString &itemId) { return requestItem(client()->configuration().jidBare(), nodeName, itemId); } + template + inline QFuture> requestPepItem(const QString &nodeName, StandardItemId itemId = Current) { return requestItem(client()->configuration().jidBare(), nodeName, itemId); } + template + inline QFuture> requestPepItems(const QString &nodeName) { return requestItems(client()->configuration().jidBare(), nodeName); } + inline QFuture requestPepItemIds(const QString &nodeName) { return requestItemIds(client()->configuration().jidBare(), nodeName); } template QFuture publishPepItem(const QString &nodeName, const T &item, const QXmppPubSubPublishOptions &publishOptions); template -- cgit v1.2.3