QXmpp Version: 1.4.0
Loading...
Searching...
No Matches
QXmppClientExtension.h
1/*
2 * Copyright (C) 2008-2021 The QXmpp developers
3 *
4 * Author:
5 * Jeremy Lainé
6 *
7 * Source:
8 * https://github.com/qxmpp-project/qxmpp
9 *
10 * This file is a part of QXmpp library.
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 */
23
24#ifndef QXMPPCLIENTEXTENSION_H
25#define QXMPPCLIENTEXTENSION_H
26
27#include "QXmppDiscoveryIq.h"
28#include "QXmppLogger.h"
29
30class QDomElement;
31
32class QXmppClient;
33class QXmppClientExtensionPrivate;
34class QXmppStream;
35
45
46class QXMPP_EXPORT QXmppClientExtension : public QXmppLoggable
47{
48 Q_OBJECT
49
50public:
52 ~QXmppClientExtension() override;
53
54 virtual QStringList discoveryFeatures() const;
55 virtual QList<QXmppDiscoveryIq::Identity> discoveryIdentities() const;
56
63 virtual bool handleStanza(const QDomElement &stanza) = 0;
64
65protected:
66 QXmppClient *client();
67 virtual void setClient(QXmppClient *client);
68
69private:
70 QXmppClientExtensionPrivate *const d;
71
72 friend class QXmppClient;
73};
74
75#endif
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:47
virtual bool handleStanza(const QDomElement &stanza)=0
You need to implement this method to process incoming XMPP stanzas.
The QXmppClient class is the main class for using QXmpp.
Definition: QXmppClient.h:94
The QXmppLoggable class represents a source of logging messages.
Definition: QXmppLogger.h:124
The QXmppStream class is the base class for all XMPP streams.
Definition: QXmppStream.h:42