summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2024-04-19 14:41:53 +0200
committerAlexey Edelev <alexey.edelev@qt.io>2024-04-24 17:25:16 +0200
commit1d4e0e43095e818dff75d7a0787aa5a696f7963b (patch)
tree244ba4e46e38352784507758410fb1e344ca236d
parent9145ffc50d1d154564f1aef46b8444972e50bfe5 (diff)
Make QGrpcClientBase::trySerialize const
Driven by the review comment. Task-number: QTBUG-123625 Change-Id: I59a07314eca50d73cc1afacb68de516d2dc349fb Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
-rw-r--r--src/grpc/qgrpcclientbase.cpp19
-rw-r--r--src/grpc/qgrpcclientbase.h7
2 files changed, 15 insertions, 11 deletions
diff --git a/src/grpc/qgrpcclientbase.cpp b/src/grpc/qgrpcclientbase.cpp
index 34cf470..2a332d5 100644
--- a/src/grpc/qgrpcclientbase.cpp
+++ b/src/grpc/qgrpcclientbase.cpp
@@ -205,8 +205,11 @@ std::shared_ptr<QGrpcCallReply> QGrpcClientBase::call(QLatin1StringView method,
const QGrpcCallOptions &options)
{
std::optional<QByteArray> argData = trySerialize(arg);
- if (!argData)
+ if (!argData) {
+ Q_EMIT errorOccurred(QGrpcStatus{ QGrpcStatus::Unknown,
+ tr("Serializing failed. Serializer is not ready.") });
return {};
+ }
return call(method, *argData, options);
}
@@ -305,17 +308,15 @@ QGrpcClientBase::startBidirStream(QLatin1StringView method, QByteArrayView arg,
return grpcStream;
}
-std::optional<QByteArray> QGrpcClientBase::trySerialize(const QProtobufMessage &arg)
+std::optional<QByteArray> QGrpcClientBase::trySerialize(const QProtobufMessage &arg) const
{
- Q_D(QGrpcClientBase);
+ Q_D(const QGrpcClientBase);
using namespace Qt::StringLiterals;
- auto _serializer = d->serializer();
- if (_serializer == nullptr) {
- Q_EMIT errorOccurred(QGrpcStatus{
- QGrpcStatus::Unknown, tr("Serializing failed. Serializer is not ready.") });
+ auto serializer = d->serializer();
+ if (serializer == nullptr)
return std::nullopt;
- }
- return _serializer->serialize(&arg);
+
+ return serializer->serialize(&arg);
}
QT_END_NAMESPACE
diff --git a/src/grpc/qgrpcclientbase.h b/src/grpc/qgrpcclientbase.h
index 90180a0..9a4d9c8 100644
--- a/src/grpc/qgrpcclientbase.h
+++ b/src/grpc/qgrpcclientbase.h
@@ -58,8 +58,11 @@ protected:
const QGrpcCallOptions &options)
{
std::optional<QByteArray> argData = trySerialize(arg);
- if (!argData)
+ if (!argData) {
+ Q_EMIT errorOccurred(QGrpcStatus{ QGrpcStatus::Unknown,
+ tr("Serializing failed. Serializer is not ready.") });
return {};
+ }
if constexpr (std::is_same_v<StreamType, QGrpcServerStream>) {
return startServerStream(method, *argData, options);
} else if constexpr (std::is_same_v<StreamType, QGrpcClientStream>) {
@@ -83,7 +86,7 @@ private:
std::shared_ptr<QGrpcBidirStream> startBidirStream(QLatin1StringView method, QByteArrayView arg,
const QGrpcCallOptions &options);
- std::optional<QByteArray> trySerialize(const QProtobufMessage &arg);
+ std::optional<QByteArray> trySerialize(const QProtobufMessage &arg) const;
Q_DISABLE_COPY_MOVE(QGrpcClientBase)
Q_DECLARE_PRIVATE(QGrpcClientBase)