QXmpp
Version: 1.5.6
Loading...
Searching...
No Matches
src
client
QXmppClientExtension.h
1
// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
2
//
3
// SPDX-License-Identifier: LGPL-2.1-or-later
4
5
#ifndef QXMPPCLIENTEXTENSION_H
6
#define QXMPPCLIENTEXTENSION_H
7
8
#include "QXmppDiscoveryIq.h"
9
#include "QXmppExtension.h"
10
#include "QXmppLogger.h"
11
12
#include <memory>
13
14
class
QDomElement;
15
16
class
QXmppClient
;
17
class
QXmppClientExtensionPrivate;
18
class
QXmppMessage
;
19
class
QXmppStream
;
20
32
class
QXMPP_EXPORT
QXmppClientExtension
:
public
QXmppLoggable
,
public
QXmppExtension
33
{
34
Q_OBJECT
35
36
public
:
37
QXmppClientExtension
();
38
~QXmppClientExtension
()
override
;
39
40
virtual
QStringList discoveryFeatures()
const
;
41
virtual
QList<QXmppDiscoveryIq::Identity> discoveryIdentities()
const
;
42
43
virtual
bool
handleStanza(
const
QDomElement &stanza);
44
virtual
bool
handleStanza(
const
QDomElement &stanza,
const
std::optional<QXmppE2eeMetadata> &e2eeMetadata);
45
46
protected
:
47
QXmppClient
*client();
48
virtual
void
setClient(
QXmppClient
*client);
49
50
void
injectIq(
const
QDomElement &element,
const
std::optional<QXmppE2eeMetadata> &e2eeMetadata);
51
bool
injectMessage(
QXmppMessage
&&message);
52
53
private
:
54
// m_client can be replaced with a d-ptr if needed (same size)
55
QXmppClient
*m_client;
56
57
friend
class
QXmppClient
;
58
};
59
60
#endif
QXmppClientExtension
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition
QXmppClientExtension.h:33
QXmppClient
The QXmppClient class is the main class for using QXmpp.
Definition
QXmppClient.h:84
QXmppLoggable
The QXmppLoggable class represents a source of logging messages.
Definition
QXmppLogger.h:105
QXmppMessage
The QXmppMessage class represents an XMPP message.
Definition
QXmppMessage.h:35
QXmppStream
The QXmppStream class is the base class for all XMPP streams.
Definition
QXmppStream.h:36
Generated by
1.9.8