QAbstractGrpcClient Class
The QAbstractGrpcClient class is bridge between gRPC clients and channels. More...
Header: | #include <QAbstractGrpcClient> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
Since: | Qt 6.5 |
Inherits: | QObject |
Status: | Technical Preview |
Public Functions
void | attachChannel(const std::shared_ptr<QAbstractGrpcChannel> &channel) |
Signals
void | errorOccurred(const QGrpcStatus &status) |
Protected Functions
QGrpcStatus | call(QLatin1StringView method, const QProtobufMessage &arg, ReturnType &ret, const QGrpcCallOptions &options) |
std::shared_ptr<QGrpcCallReply> | call(QLatin1StringView method, const QProtobufMessage &arg, const QGrpcCallOptions &options) |
std::shared_ptr<QGrpcStream> | startStream(QLatin1StringView method, const QProtobufMessage &arg, const QGrpcCallOptions &options) |
Detailed Description
QAbstractGrpcClient provides a set of functions for client classes generated out of protobuf services. QAbstractGrpcClient enforces thread safety for startStream() and call() methods of generated clients. The methods QAbstractGrpcClient::call() and QAbstractGrpcClient::startStream() should only be called by the generated client classes.
Member Function Documentation
void QAbstractGrpcClient::attachChannel(const std::shared_ptr<QAbstractGrpcChannel> &channel)
Attaches channel to client as transport layer for gRPC.
Parameters and return values will be serialized to the channel in a format it supports.
Note: Warning: Qt GRPC doesn't guarantee thread safety on the channel level. You have to invoke the channel-related functions on the same thread as QAbstractGrpcClient.
[protected]
template <typename ParamType, typename ReturnType> QGrpcStatus QAbstractGrpcClient::call(QLatin1StringView method, const QProtobufMessage &arg, ReturnType &ret, const QGrpcCallOptions &options)
Synchronously calls the given method of this service client, with argument arg and fills ret with gRPC reply. Uses options argument to set additional parameter for the call.
[protected]
template <typename ParamType> std::shared_ptr<QGrpcCallReply> QAbstractGrpcClient::call(QLatin1StringView method, const QProtobufMessage &arg, const QGrpcCallOptions &options)
Synchronously calls the given method of this service client, with argument arg. Uses options argument to set additional parameter for the call.
[signal]
void QAbstractGrpcClient::errorOccurred(const QGrpcStatus &status)
Indicates that an error occurred during serialization.
This signal is emitted when an error with status occurs in the channel or during serialization.
See also QGrpcOperation::errorOccurred.
[protected]
template <typename ParamType> std::shared_ptr<QGrpcStream> QAbstractGrpcClient::startStream(QLatin1StringView method, const QProtobufMessage &arg, const QGrpcCallOptions &options)
Streams messages from the server stream method with the message argument arg to the attached channel. Uses options argument to set additional parameter for the call.