1// Copyright (C) 2022 The Qt Company Ltd.
2// Copyright (C) 2019 Alexey Edelev <semlanik@gmail.com>
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4
5#include <QtGrpc/qgrpcstatus.h>
6
7#include <QtCore/qdatastream.h>
8#include <QtCore/qdebug.h>
9#include <QtCore/qvariant.h>
10
11QT_BEGIN_NAMESPACE
12
13/*!
14 \class QGrpcStatus
15 \inmodule QtGrpc
16 \compares equality
17 \compareswith equality QtGrpc::StatusCode
18 \endcompareswith
19 \brief The QGrpcStatus class combines a \l {QtGrpc::} {StatusCode} and a
20 string message.
21
22 The QGrpcStatus class usually provides information about a finished \gRPC
23 operation, as returned by the server.
24
25 If a RPC operation failed, contains a \l {QtGrpc::} {StatusCode} other than
26 \l {QtGrpc::StatusCode::} {Ok}.
27*/
28
29/*!
30 \property QGrpcStatus::code
31 \brief \l {QtGrpc::} {StatusCode} received for prior \gRPC call.
32*/
33
34/*!
35 \property QGrpcStatus::message
36 \brief Status message received for prior \gRPC call.
37*/
38
39/*!
40 Constructs a QGrpcStatus with the status code \a code and the string \a
41 message.
42*/
43QGrpcStatus::QGrpcStatus(QtGrpc::StatusCode code, QAnyStringView message)
44 : m_code(code), m_message(message.toString())
45{
46}
47
48/*!
49 Destroys the QGrpcStatus.
50*/
51QGrpcStatus::~QGrpcStatus() = default;
52
53/*!
54 Copy-constructs a QGrpcStatus from \a other
55*/
56QGrpcStatus::QGrpcStatus(const QGrpcStatus &other) = default;
57
58/*!
59 Assigns the data of the \a other object to this status object and returns
60 a reference to it.
61*/
62QGrpcStatus &QGrpcStatus::operator=(const QGrpcStatus &other) = default;
63
64/*!
65 \fn QGrpcStatus::QGrpcStatus(QGrpcStatus &&other) noexcept
66
67 Move-constructs a new QGrpcStatus from \a other.
68
69 \include qtgrpc-shared.qdocinc move-note-desc
70*/
71
72/*!
73 \fn QGrpcStatus& QGrpcStatus::operator=(QGrpcStatus &&other) noexcept
74
75 Move-assigns \a other to this QGrpcStatus instance and returns a reference
76 to it.
77
78 \include qtgrpc-shared.qdocinc move-note-desc
79*/
80
81/*!
82 \since 6.8
83
84 \include qtgrpc-shared.qdocinc qvariant-desc
85*/
86QGrpcStatus::operator QVariant() const
87{
88 return QVariant::fromValue(value: *this);
89}
90
91/*!
92 \since 6.8
93 \fn void QGrpcStatus::swap(QGrpcStatus &other) noexcept
94
95 \include qtgrpc-shared.qdocinc swap-desc
96*/
97
98/*!
99 \fn QtGrpc::StatusCode QGrpcStatus::code() const noexcept
100
101 Returns the contained \l {QtGrpc::} {StatusCode}.
102*/
103
104/*!
105 \fn const QString &QGrpcStatus::message() const & noexcept
106 \fn QString QGrpcStatus::message() && noexcept
107
108 Returns the contained status message.
109*/
110
111/*!
112 \since 6.8
113 \fn bool QGrpcStatus::isOk() const noexcept
114
115 Returns \c true if code() is equal to \l {QtGrpc::StatusCode::} {Ok}.
116*/
117
118/*!
119 \fn bool QGrpcStatus::operator==(const QGrpcStatus &lhs, const QtGrpc::StatusCode &rhs) noexcept
120
121 Returns \c true if the status codes in \a lhs and \a rhs are equal.
122*/
123
124/*!
125 \fn bool QGrpcStatus::operator!=(const QGrpcStatus &lhs, const QtGrpc::StatusCode &rhs) noexcept
126
127 Returns \c true if the status codes in \a lhs and \a rhs are not equal.
128*/
129
130/*!
131 \fn bool QGrpcStatus::operator==(const QGrpcStatus &lhs, const QGrpcStatus &rhs) noexcept
132
133 Returns \c true if the status codes in \a lhs and \a rhs are equal.
134*/
135
136/*!
137 \fn bool QGrpcStatus::operator!=(const QGrpcStatus &lhs, const QGrpcStatus &rhs) noexcept
138
139 Returns \c true if the status codes in \a lhs and \a rhs are not equal.
140*/
141
142/*!
143 \since 6.8
144 \fn size_t QGrpcStatus::qHash(const QGrpcStatus &key, size_t seed) noexcept
145
146 \include qtgrpc-shared.qdocinc qhash-desc
147*/
148
149#ifndef QT_NO_DEBUG_STREAM
150
151/*!
152 \since 6.8
153 \fn QDebug QGrpcStatus::operator<<(QDebug debug, const QGrpcStatus& status)
154
155 Writes \a status to the specified stream \a debug.
156*/
157QDebug operator<<(QDebug debug, const QGrpcStatus &status)
158{
159 const QDebugStateSaver save(debug);
160 debug.nospace() << "QGrpcStatus( code: " << status.code() << ", message: " << status.message()
161 << " )";
162 return debug;
163}
164
165#endif // QT_NO_DEBUG_STREAM
166
167#ifndef QT_NO_DATASTREAM
168
169/*!
170 \since 6.8
171 \fn QDataStream &QGrpcStatus::operator<<(QDataStream &out, const QGrpcStatus &status)
172
173 Writes the given \a status to the specified stream \a out.
174*/
175QDataStream &operator<<(QDataStream &out, const QGrpcStatus &status)
176{
177 out << status.m_code << status.m_message;
178 return out;
179}
180
181/*!
182 \since 6.8
183 \fn QDataStream &QGrpcStatus::operator>>(QDataStream &in, QGrpcStatus &status)
184
185 Reads a QGrpcStatus from stream \a in into \a status.
186*/
187QDataStream &operator>>(QDataStream &in, QGrpcStatus &status)
188{
189 in >> status.m_code;
190 in >> status.m_message;
191 return in;
192}
193
194#endif // QT_NO_DATASTREAM
195
196QT_END_NAMESPACE
197
198#include "moc_qgrpcstatus.cpp"
199

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtgrpc/src/grpc/qgrpcstatus.cpp