QXmpp  Version: 1.15.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 
27 class QXmppClient;
29 class QXmppE2eeExtension;
30 class QXmppLogger;
31 class QTimer;
32 
33 class QXmppClientPrivate
34 {
35 public:
36  QXmppClientPrivate(QXmppClient *qq);
37 
38  void resendPresence();
39 
41  QXmppPresence clientPresence;
42  QList<QXmppClientExtension *> extensions;
43  QXmppLogger *logger;
45  QXmppOutgoingClient *stream;
46  QVector<QXmpp::StreamError> ignoredStreamErrors;
47 
48  QXmppE2eeExtension *encryptionExtension;
49 
50  // reconnection
51  bool receivedConflict;
52  int reconnectionTries;
53  QTimer *reconnectionTimer;
54 
55  void addProperCapability(QXmppPresence &presence);
56  std::chrono::milliseconds getNextReconnectTime() const;
57 
58  static QStringList discoveryFeatures();
59  void onErrorOccurred(const QString &text, const QXmppOutgoingClient::ConnectionError &err, QXmppClient::Error oldError);
60 
61 private:
62  QXmppClient *q;
63 };
64 
65 #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