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 |
Public Functions
void | attachChannel(const std::shared_ptr<QAbstractGrpcChannel> &channel) |
Protected Functions
QGrpcStatus | call(QLatin1StringView method, const QProtobufMessage &arg, ReturnType *ret) |
std::shared_ptr<QGrpcCallReply> | call(QLatin1StringView method, const QProtobufMessage &arg) |
std::shared_ptr<QGrpcStream> | startStream(QLatin1StringView method, const QProtobufMessage &arg) |
std::shared_ptr<QGrpcStream> | startStream(QLatin1StringView method, const QProtobufMessage &arg, const QWeakPointer<ReturnType> ret) |
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)
Synchronously calls the given method of this service client, with argument arg and fills ret with gRPC reply.
[protected]
template <typename ParamType> std::shared_ptr<QGrpcCallReply> QAbstractGrpcClient::call(QLatin1StringView method, const QProtobufMessage &arg)
Synchronously calls the given method of this service client, with argument arg.
[protected]
template <typename ParamType> std::shared_ptr<QGrpcStream> QAbstractGrpcClient::startStream(QLatin1StringView method, const QProtobufMessage &arg)
Streams messages from the server stream method with the message argument arg to the attached channel.
[protected]
template <typename ParamType, typename ReturnType> std::shared_ptr<QGrpcStream> QAbstractGrpcClient::startStream(QLatin1StringView method, const QProtobufMessage &arg, const QWeakPointer<ReturnType> ret)
Streams messages from the server stream method with the message argument arg to the attached channel.
Makes ret argument point to allocated return-message structure. The return-message structure will be updated each time a message is received from the server-stream.
Note: If ret is used as property-fields in other object, property NOTIFY signal won't be called in case of updated message received from server-stream.