Source code
Revision control
Copy as Markdown
// Copyright (C) 2022 The Qt Company Ltd.
// Copyright (C) 2019 Alexey Edelev <semlanik@gmail.com>
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtGrpc/qgrpcstatus.h>
#include <QtCore/qdatastream.h>
#include <QtCore/qdebug.h>
#include <QtCore/qvariant.h>
QT_BEGIN_NAMESPACE
/*!
\class QGrpcStatus
\inmodule QtGrpc
\compares equality
\compareswith equality QtGrpc::StatusCode
\endcompareswith
\brief The QGrpcStatus class combines a \l {QtGrpc::} {StatusCode} and a
string message.
The QGrpcStatus class usually provides information about a finished \gRPC
operation, as returned by the server.
If a RPC operation failed, contains a \l {QtGrpc::} {StatusCode} other than
\l {QtGrpc::StatusCode::} {Ok}.
*/
/*!
\property QGrpcStatus::code
\brief \l {QtGrpc::} {StatusCode} received for prior \gRPC call.
*/
/*!
\property QGrpcStatus::message
\brief Status message received for prior \gRPC call.
*/
/*!
Constructs a QGrpcStatus with the status code \a code and the string \a
message.
*/
QGrpcStatus::QGrpcStatus(QtGrpc::StatusCode code, QAnyStringView message)
: m_code(code), m_message(message.toString())
{
}
/*!
Destroys the QGrpcStatus.
*/
QGrpcStatus::~QGrpcStatus() = default;
/*!
Copy-constructs a QGrpcStatus from \a other
*/
QGrpcStatus::QGrpcStatus(const QGrpcStatus &other) = default;
/*!
Assigns the data of the \a other object to this status object and returns
a reference to it.
*/
QGrpcStatus &QGrpcStatus::operator=(const QGrpcStatus &other) = default;
/*!
\fn QGrpcStatus::QGrpcStatus(QGrpcStatus &&other) noexcept
Move-constructs a new QGrpcStatus from \a other.
\include qtgrpc-shared.qdocinc move-note-desc
*/
/*!
\fn QGrpcStatus& QGrpcStatus::operator=(QGrpcStatus &&other) noexcept
Move-assigns \a other to this QGrpcStatus instance and returns a reference
to it.
\include qtgrpc-shared.qdocinc move-note-desc
*/
/*!
\since 6.8
\include qtgrpc-shared.qdocinc qvariant-desc
*/
QGrpcStatus::operator QVariant() const
{
return QVariant::fromValue(*this);
}
/*!
\since 6.8
\fn void QGrpcStatus::swap(QGrpcStatus &other) noexcept
\include qtgrpc-shared.qdocinc swap-desc
*/
/*!
\fn QtGrpc::StatusCode QGrpcStatus::code() const noexcept
Returns the contained \l {QtGrpc::} {StatusCode}.
*/
/*!
\fn const QString &QGrpcStatus::message() const & noexcept
\fn QString QGrpcStatus::message() && noexcept
Returns the contained status message.
*/
/*!
\since 6.8
\fn bool QGrpcStatus::isOk() const noexcept
Returns \c true if code() is equal to \l {QtGrpc::StatusCode::} {Ok}.
*/
/*!
\fn bool QGrpcStatus::operator==(const QGrpcStatus &lhs, const QtGrpc::StatusCode &rhs) noexcept
Returns \c true if the status codes in \a lhs and \a rhs are equal.
*/
/*!
\fn bool QGrpcStatus::operator!=(const QGrpcStatus &lhs, const QtGrpc::StatusCode &rhs) noexcept
Returns \c true if the status codes in \a lhs and \a rhs are not equal.
*/
/*!
\fn bool QGrpcStatus::operator==(const QGrpcStatus &lhs, const QGrpcStatus &rhs) noexcept
Returns \c true if the status codes in \a lhs and \a rhs are equal.
*/
/*!
\fn bool QGrpcStatus::operator!=(const QGrpcStatus &lhs, const QGrpcStatus &rhs) noexcept
Returns \c true if the status codes in \a lhs and \a rhs are not equal.
*/
/*!
\since 6.8
\fn size_t QGrpcStatus::qHash(const QGrpcStatus &key, size_t seed) noexcept
\include qtgrpc-shared.qdocinc qhash-desc
*/
#ifndef QT_NO_DEBUG_STREAM
/*!
\since 6.8
\fn QDebug QGrpcStatus::operator<<(QDebug debug, const QGrpcStatus& status)
Writes \a status to the specified stream \a debug.
*/
QDebug operator<<(QDebug debug, const QGrpcStatus &status)
{
const QDebugStateSaver save(debug);
debug.nospace() << "QGrpcStatus( code: " << status.code() << ", message: " << status.message()
<< " )";
return debug;
}
#endif // QT_NO_DEBUG_STREAM
#ifndef QT_NO_DATASTREAM
/*!
\since 6.8
\fn QDataStream &QGrpcStatus::operator<<(QDataStream &out, const QGrpcStatus &status)
Writes the given \a status to the specified stream \a out.
*/
QDataStream &operator<<(QDataStream &out, const QGrpcStatus &status)
{
out << status.m_code << status.m_message;
return out;
}
/*!
\since 6.8
\fn QDataStream &QGrpcStatus::operator>>(QDataStream &in, QGrpcStatus &status)
Reads a QGrpcStatus from stream \a in into \a status.
*/
QDataStream &operator>>(QDataStream &in, QGrpcStatus &status)
{
in >> status.m_code;
in >> status.m_message;
return in;
}
#endif // QT_NO_DATASTREAM
QT_END_NAMESPACE
#include "moc_qgrpcstatus.cpp"