Loading...
Searching...
No Matches
QXmppServerExtension.h
// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPSERVEREXTENSION_H
#define QXMPPSERVEREXTENSION_H
#include "QXmppLogger.h"
#include <QVariant>
class QDomElement;
class QXmppServer;
class QXmppServerExtensionPrivate;
class QXMPP_EXPORT QXmppServerExtension : public QXmppLoggable
{
Q_OBJECT
public:
QXmppServerExtension();
~QXmppServerExtension() override;
virtual QString extensionName() const;
virtual int extensionPriority() const;
virtual QStringList discoveryFeatures() const;
virtual QStringList discoveryItems() const;
virtual bool handleStanza(const QDomElement &stanza);
virtual QSet<QString> presenceSubscribers(const QString &jid);
virtual QSet<QString> presenceSubscriptions(const QString &jid);
virtual bool start();
virtual void stop();
protected:
QXmppServer *server() const;
private:
void setServer(QXmppServer *server);
const std::unique_ptr<QXmppServerExtensionPrivate> d;
friend class QXmppServer;
};
#endif
QXmppLoggable
The QXmppLoggable class represents a source of logging messages.
Definition QXmppLogger.h:110
QXmppServerExtension
The QXmppServerExtension class is the base class for QXmppServer extensions.
Definition QXmppServerExtension.h:29
QXmppServer
The QXmppServer class represents an XMPP server.
Definition QXmppServer.h:41