1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QMQTTCONNECTIONPROPERTIES_P_H
5#define QMQTTCONNECTIONPROPERTIES_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qmqttconnectionproperties.h"
19#include "private/qglobal_p.h"
20
21QT_BEGIN_NAMESPACE
22
23class QMqttLastWillPropertiesData : public QSharedData
24{
25public:
26 QString contentType;
27 QString responseTopic;
28 QByteArray correlationData;
29 QMqttUserProperties userProperties;
30 quint32 willDelayInterval{0};
31 quint32 messageExpiryInterval{0};
32 QMqtt::PayloadFormatIndicator formatIndicator{QMqtt::PayloadFormatIndicator::Unspecified};
33};
34
35class QMqttConnectionPropertiesData : public QSharedData
36{
37public:
38 QMqttUserProperties userProperties;
39 QString authenticationMethod;
40 QByteArray authenticationData;
41 quint32 sessionExpiryInterval{0};
42 quint32 maximumPacketSize{std::numeric_limits<quint32>::max()};
43 quint16 maximumReceive{65535};
44 quint16 maximumTopicAlias{0};
45 bool requestResponseInformation{false};
46 bool requestProblemInformation{true};
47};
48
49class QMqttServerConnectionPropertiesData : public QSharedData
50{
51public:
52 QMqttServerConnectionProperties::ServerPropertyDetails details{QMqttServerConnectionProperties::None};
53 QString reasonString;
54 QString responseInformation;
55 QString serverReference;
56 quint16 serverKeepAlive{0};
57 quint8 maximumQoS{2};
58 QMqtt::ReasonCode reasonCode{QMqtt::ReasonCode::Success};
59 bool valid{false}; // Only set to true after CONNACK
60 bool retainAvailable{true};
61 bool wildcardSupported{true};
62 bool subscriptionIdentifierSupported{true};
63 bool sharedSubscriptionSupported{true};
64};
65
66QT_END_NAMESPACE
67
68#endif // QMQTTCONNECTIONPROPERTIES_P_H
69

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