QXmpp Version: 1.10.0
QXmppClient_p.h
1// SPDX-FileCopyrightText: 2020 Manjeet Dahiya <manjeetdahiya@gmail.com>
2// SPDX-FileCopyrightText: 2020 Linus Jahn <lnj@kaidan.im>
3// SPDX-FileCopyrightText: 2023 Melvin Keskin <melvo@olomono.de>
4//
5// SPDX-License-Identifier: LGPL-2.1-or-later
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the QXmpp API.
12//
13// This header file may change from version to version without notice,
14// or even be removed.
15//
16// We mean it.
17//
18
19#ifndef QXMPPCLIENT_P_H
20#define QXMPPCLIENT_P_H
21
22#include "QXmppOutgoingClient.h"
23#include "QXmppPresence.h"
24
25#include <chrono>
26
27class QXmppClient;
30class QXmppLogger;
31class QTimer;
32
33class QXmppClientPrivate
34{
35public:
36 QXmppClientPrivate(QXmppClient *qq);
37
39 QXmppPresence clientPresence;
40 QList<QXmppClientExtension *> extensions;
41 QXmppLogger *logger;
43 QXmppOutgoingClient *stream;
44 QVector<QXmpp::StreamError> ignoredStreamErrors;
45
46 QXmppE2eeExtension *encryptionExtension;
47
48 // reconnection
49 bool receivedConflict;
50 int reconnectionTries;
51 QTimer *reconnectionTimer;
52
53 void addProperCapability(QXmppPresence &presence);
54 std::chrono::milliseconds getNextReconnectTime() const;
55
56 static QStringList discoveryFeatures();
57 void onErrorOccurred(const QString &text, const QXmppOutgoingClient::ConnectionError &err, QXmppClient::Error oldError);
58
59private:
60 QXmppClient *q;
61};
62
63#endif // QXMPPCLIENT_P_H
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:32
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:62
Error
Definition: QXmppClient.h:76
Definition: QXmppE2eeExtension.h:23
The QXmppLogger class represents a sink for logging messages.
Definition: QXmppLogger.h:29
The QXmppPresence class represents an XMPP presence stanza.
Definition: QXmppPresence.h:22