From 86b85f4270f30f72856f6fa185162499abbe2c80 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Fri, 13 May 2022 19:02:14 +0200 Subject: Add PubSubEventHandler based on QXmppExtension --- src/client/QXmppPubSubEventHandler.h | 20 ++++++++++++++++++++ src/client/QXmppPubSubManager.cpp | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/client/QXmppPubSubEventHandler.h (limited to 'src/client') diff --git a/src/client/QXmppPubSubEventHandler.h b/src/client/QXmppPubSubEventHandler.h new file mode 100644 index 00000000..093dab5d --- /dev/null +++ b/src/client/QXmppPubSubEventHandler.h @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2022 Linus Jahn +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#ifndef QXMPPPUBSUBEVENTHANDLER_H +#define QXMPPPUBSUBEVENTHANDLER_H + +#include "QXmppExtension.h" + +class QDomElement; +class QXmppPubSubManager; + +// Documented in QXmppPubSubManager.cpp. +class QXMPP_EXPORT QXmppPubSubEventHandler : public QXmppExtension +{ +public: + virtual bool handlePubSubEvent(const QDomElement &element, const QString &pubSubService, const QString &nodeName) = 0; +}; + +#endif // QXMPPPUBSUBEVENTHANDLER_H diff --git a/src/client/QXmppPubSubManager.cpp b/src/client/QXmppPubSubManager.cpp index b1f6edf8..a9697812 100644 --- a/src/client/QXmppPubSubManager.cpp +++ b/src/client/QXmppPubSubManager.cpp @@ -21,6 +21,25 @@ using namespace QXmpp::Private; +/// +/// \class QXmppPubSubEventHandler +/// +/// Interface for handling \xep{0060, Publish-Subscribe} (PubSub) events. +/// +/// \since QXmpp 1.5 +/// + +/// +/// \fn QXmppPubSubEventHandler::handlePubSubEvent() +/// +/// Handles the PubSub event. +/// +/// \param element QDomElement of the <message/> stanza +/// \param pubSubService JID of the PubSub service +/// \param nodeName Name of the PubSub node on the service +/// \returns Whether the event has been handled and should not be handled by other event handlers. +/// + /// /// \class QXmppPubSubManager /// -- cgit v1.2.3