1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QMQTTCLIENT_P_H
6#define QMQTTCLIENT_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include "qmqttglobal_p.h"
20#include "qmqttclient.h"
21#include "qmqttconnection_p.h"
22
23#include <QtNetwork/QAbstractSocket>
24
25#include <private/qobject_p.h>
26
27QT_BEGIN_NAMESPACE
28
29class QMqttClientPrivate : public QObjectPrivate
30{
31 Q_DECLARE_PUBLIC(QMqttClient)
32public:
33 QMqttClientPrivate(QMqttClient *c);
34 ~QMqttClientPrivate() override;
35 void setStateAndError(QMqttClient::ClientState s, QMqttClient::ClientError e = QMqttClient::NoError);
36 void setClientId(const QString &id);
37 QMqttClient *m_client{nullptr};
38 QString m_hostname;
39 quint16 m_port{0};
40 QMqttConnection m_connection;
41 QString m_clientId; // auto-generated
42 quint16 m_keepAlive{60};
43 QMqttClient::ProtocolVersion m_protocolVersion{QMqttClient::MQTT_3_1_1};
44 QMqttClient::ClientState m_state{QMqttClient::Disconnected};
45 QMqttClient::ClientError m_error{QMqttClient::NoError};
46 QString m_willTopic;
47 QByteArray m_willMessage;
48 quint8 m_willQoS{0};
49 bool m_willRetain{false};
50 bool m_autoKeepAlive{true};
51 QString m_username;
52 QString m_password;
53 bool m_cleanSession{true};
54 QMqttConnectionProperties m_connectionProperties;
55 QMqttLastWillProperties m_lastWillProperties;
56 QMqttServerConnectionProperties m_serverConnectionProperties;
57};
58
59QT_END_NAMESPACE
60#endif // QMQTTCLIENT_P_H
61

source code of qtmqtt/src/mqtt/qmqttclient_p.h