QXmpp  Version: 1.10.4
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 
27 class QXmppClient;
29 class QXmppE2eeExtension;
30 class QXmppLogger;
31 class QTimer;
32 
33 class QXmppClientPrivate
34 {
35 public:
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 
59 private:
60  QXmppClient *q;
61 };
62 
63 #endif // QXMPPCLIENT_P_H
Definition: QXmppE2eeExtension.h:22
Error
Definition: QXmppClient.h:76
The QXmppLogger class represents a sink for logging messages.
Definition: QXmppLogger.h:28
The QXmppPresence class represents an XMPP presence stanza.
Definition: QXmppPresence.h:21
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61