aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-05-13 19:02:14 +0200
committerLinus Jahn <lnj@kaidan.im>2022-05-20 17:27:09 +0200
commit86b85f4270f30f72856f6fa185162499abbe2c80 (patch)
tree31f35eb882f8a15ca334ed0d12b7e1df012b4a5a /src/client
parent7adcfa7bea80a7733cf2e1ed3b2d883342c53a3b (diff)
downloadqxmpp-86b85f4270f30f72856f6fa185162499abbe2c80.tar.gz
Add PubSubEventHandler based on QXmppExtension
Diffstat (limited to 'src/client')
-rw-r--r--src/client/QXmppPubSubEventHandler.h20
-rw-r--r--src/client/QXmppPubSubManager.cpp19
2 files changed, 39 insertions, 0 deletions
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 <lnj@kaidan.im>
+//
+// 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
@@ -22,6 +22,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 &lt;message/&gt; 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
///
/// \brief The QXmppPubSubManager aims to provide publish-subscribe