- Qt 6.6
- Qt GRPC
- C++ Classes
- QtGrpc (Technical Preview)
- QGrpcChannel
- Qt 6.6.1 Reference Documentation

# QGrpcChannel Class

The QGrpcChannel class is a gRPC-cpp native api implementation of QAbstractGrpcChannel interface. More...

Header: | #include <QGrpcChannel>
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Since: | Qt 6.5
Inherits: | QAbstractGrpcChannel
Status: | Technical Preview

- List of all members, including inherited members

## Public Functions

| QGrpcChannel(const QGrpcChannelOptions &options, QGrpcChannel::NativeGrpcChannelCredentials credentialsType)
virtual | ~QGrpcChannel() override

## Reimplemented Public Functions

virtual QGrpcStatus | call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, QByteArray &ret, const QGrpcCallOptions &options = QGrpcCallOptions()) override
virtual std::shared_ptr<QGrpcCallReply> | call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, const QGrpcCallOptions &options = QGrpcCallOptions()) override
virtual std::shared_ptr<QAbstractProtobufSerializer> | serializer() const override
virtual std::shared_ptr<QGrpcStream> | startStream(QLatin1StringView method, QLatin1StringView service, QByteArrayView arg, const QGrpcCallOptions &options = QGrpcCallOptions()) override

## Detailed Description

QGrpcChannel accepts the same grpc::ChannelCredentials type that is required by native-api grpc::CreateChannel.

See also gRPC ChannelCredentials.

## Member Function Documentation

### `[explicit]` QGrpcChannel::QGrpcChannel(const QGrpcChannelOptions &options, QGrpcChannel::NativeGrpcChannelCredentials credentialsType)

Constructs a gRPC channel, with options and credentialsType.

### `[override virtual noexcept]` QGrpcChannel::~QGrpcChannel()

Destroys the QGrpcChannel object.

### `[override virtual]` QGrpcStatus QGrpcChannel::call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, QByteArray &ret, const QGrpcCallOptions &options = QGrpcCallOptions())

Reimplements: QAbstractGrpcChannel::call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, QByteArray &ret, const QGrpcCallOptions &options).

Synchronously calls the RPC method and writes the result to the output parameter ret.

The RPC method name is constructed by concatenating the method and service parameters and called with the args argument. Uses options argument to set additional parameter for the call.

### `[override virtual]` std::shared_ptr<QGrpcCallReply> QGrpcChannel::call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, const QGrpcCallOptions &options = QGrpcCallOptions())

Reimplements: QAbstractGrpcChannel::call(QLatin1StringView method, QLatin1StringView service, QByteArrayView args, const QGrpcCallOptions &options).

Asynchronously calls the RPC method.

The RPC method name is constructed by concatenating the method and service parameters and called with the args argument. Uses options argument to set additional parameter for the call. The method can emit QGrpcCallReply::finished() and QGrpcCallReply::errorOccurred() signals on a QGrpcCallReply returned object.

### `[override virtual]` std::shared_ptr<QAbstractProtobufSerializer> QGrpcChannel::serializer() const

Reimplements: QAbstractGrpcChannel::serializer() const.

Returns the newly created QProtobufSerializer shared pointer.

### `[override virtual]` std::shared_ptr<QGrpcStream> QGrpcChannel::startStream(QLatin1StringView method, QLatin1StringView service, QByteArrayView arg, const QGrpcCallOptions &options = QGrpcCallOptions())

Reimplements: QAbstractGrpcChannel::startStream(QLatin1StringView method, QLatin1StringView service, QByteArrayView arg, const QGrpcCallOptions &options).

Creates and starts a stream to the RPC method.

The RPC method name is constructed by concatenating the method and service parameters and called with the arg argument. Returns a shared pointer to the QGrpcStream. Uses options argument to set additional parameter for the stream.

Calls QGrpcStream::updateData() when the stream receives data from the server. The method may emit QGrpcStream::errorOccurred() when the stream has terminated with an error.