QXmpp Version: 1.10.3
Loading...
Searching...
No Matches
QXmppServerExtension.h
1// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPSERVEREXTENSION_H
6#define QXMPPSERVEREXTENSION_H
7
8#include "QXmppLogger.h"
9
10#include <QVariant>
11
12class QDomElement;
13
14class QXmppServer;
15class QXmppServerExtensionPrivate;
16
28class QXMPP_EXPORT QXmppServerExtension : public QXmppLoggable
29{
30 Q_OBJECT
31
32public:
33 QXmppServerExtension();
34 ~QXmppServerExtension() override;
35 virtual QString extensionName() const;
36 virtual int extensionPriority() const;
37
38 virtual QStringList discoveryFeatures() const;
39 virtual QStringList discoveryItems() const;
40 virtual bool handleStanza(const QDomElement &stanza);
41 virtual QSet<QString> presenceSubscribers(const QString &jid);
42 virtual QSet<QString> presenceSubscriptions(const QString &jid);
43
44 virtual bool start();
45 virtual void stop();
46
47protected:
48 QXmppServer *server() const;
49
50private:
51 void setServer(QXmppServer *server);
52 const std::unique_ptr<QXmppServerExtensionPrivate> d;
53
54 friend class QXmppServer;
55};
56
57#endif
QXmppLoggable(QObject *parent=nullptr)
Definition QXmppLogger.cpp:57
virtual QStringList discoveryFeatures() const
Returns the discovery features to add to the server.
Definition QXmppServerExtension.cpp:29
virtual bool start()
Definition QXmppServerExtension.cpp:100
virtual QString extensionName() const
Returns the extension's name.
Definition QXmppServerExtension.cpp:41
virtual QSet< QString > presenceSubscriptions(const QString &jid)
Definition QXmppServerExtension.cpp:89
virtual QSet< QString > presenceSubscribers(const QString &jid)
Definition QXmppServerExtension.cpp:80
virtual QStringList discoveryItems() const
Returns the discovery items to add to the server.
Definition QXmppServerExtension.cpp:35
virtual void stop()
Stops the extension.
Definition QXmppServerExtension.cpp:106
QXmppServer * server() const
Returns the server which loaded this extension.
Definition QXmppServerExtension.cpp:111
virtual bool handleStanza(const QDomElement &stanza)
Definition QXmppServerExtension.cpp:71
virtual int extensionPriority() const
Definition QXmppServerExtension.cpp:59
The QXmppServer class represents an XMPP server.
Definition QXmppServer.h:41