1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#include "qmqttauthenticationproperties.h"
5
6QT_BEGIN_NAMESPACE
7
8/*!
9 \class QMqttAuthenticationProperties
10
11 \inmodule QtMqtt
12 \since 5.12
13
14 \brief The QMqttAuthenticationProperties class represents configuration
15 options during the authentication process.
16
17 \note Authentication properties are part of the MQTT 5.0 specification and
18 cannot be used when connecting with a lower protocol level. See
19 QMqttClient::ProtocolVersion for more information.
20*/
21
22class QMqttAuthenticationPropertiesData : public QSharedData
23{
24public:
25 QString authenticationMethod;
26 QByteArray authenticationData;
27 QString reason;
28 QMqttUserProperties userProperties;
29};
30
31/*!
32 \internal
33*/
34QMqttAuthenticationProperties::QMqttAuthenticationProperties() : data(new QMqttAuthenticationPropertiesData)
35{
36
37}
38
39/*!
40 \internal
41*/
42QMqttAuthenticationProperties::QMqttAuthenticationProperties(const QMqttAuthenticationProperties &) = default;
43
44QMqttAuthenticationProperties &QMqttAuthenticationProperties::operator=(const QMqttAuthenticationProperties &rhs)
45{
46 if (this != &rhs)
47 data.operator=(o: rhs.data);
48 return *this;
49}
50
51QMqttAuthenticationProperties::~QMqttAuthenticationProperties() = default;
52
53/*!
54 Returns the authentication method.
55*/
56QString QMqttAuthenticationProperties::authenticationMethod() const
57{
58 return data->authenticationMethod;
59}
60
61/*!
62 Sets the authentication method to \a method.
63*/
64void QMqttAuthenticationProperties::setAuthenticationMethod(const QString &method)
65{
66 data->authenticationMethod = method;
67}
68
69/*!
70 Returns the authentication data
71*/
72QByteArray QMqttAuthenticationProperties::authenticationData() const
73{
74 return data->authenticationData;
75}
76
77/*!
78 Sets the authentication data to \a adata.
79
80 Authentication data can only be used if an authentication method has
81 been specified.
82
83 \sa authenticationMethod()
84*/
85void QMqttAuthenticationProperties::setAuthenticationData(const QByteArray &adata)
86{
87 data->authenticationData = adata;
88}
89
90/*!
91 Returns the reason string. The reason string specifies the reason for
92 a disconnect.
93*/
94QString QMqttAuthenticationProperties::reason() const
95{
96 return data->reason;
97}
98
99/*!
100 Sets the reason string to \a r.
101*/
102void QMqttAuthenticationProperties::setReason(const QString &r)
103{
104 data->reason = r;
105}
106
107/*!
108 Returns the user properties.
109*/
110QMqttUserProperties QMqttAuthenticationProperties::userProperties() const
111{
112 return data->userProperties;
113}
114
115/*!
116 Sets the user properties to \a user.
117*/
118void QMqttAuthenticationProperties::setUserProperties(const QMqttUserProperties &user)
119{
120 data->userProperties = user;
121}
122
123QT_END_NAMESPACE
124

source code of qtmqtt/src/mqtt/qmqttauthenticationproperties.cpp