34 #include "qabstractgrpcchannel.h"
35 #include "qabstractgrpcclient.h"
37 #include "qtgrpcglobal.h"
39 namespace QtProtobuf {
46 class Q_GRPC_EXPORT QGrpcAsyncOperationBase :
public QObject
56 QMutexLocker locker(&m_asyncLock);
59 value.deserialize(
static_cast<QAbstractGrpcClient*
>(parent())->serializer(), m_data);
60 }
catch (std::invalid_argument &) {
61 static const QLatin1String invalidArgumentErrorMessage(
"Response deserialization failed invalid field found");
63 }
catch (std::out_of_range &) {
64 static const QLatin1String outOfRangeErrorMessage(
"Invalid size of received buffer");
77 void setData(
const QByteArray &data)
79 QMutexLocker locker(&m_asyncLock);
98 QGrpcAsyncOperationBase(
const std::shared_ptr<QAbstractGrpcChannel> &channel, QAbstractGrpcClient *parent) : QObject(parent)
99 , m_channel(channel) {}
101 virtual ~QGrpcAsyncOperationBase();
103 std::shared_ptr<QAbstractGrpcChannel> m_channel;
105 QGrpcAsyncOperationBase();
106 Q_DISABLE_COPY_MOVE(QGrpcAsyncOperationBase)
108 friend class QAbstractGrpcClient;
The QGrpcStatus class contains information about last gRPC operation.
Definition: qgrpcstatus.h:58
@ OutOfRange
The operation was attempted past the valid range.
Definition: qgrpcstatus.h:82
@ Internal
Internal errors.
Definition: qgrpcstatus.h:84
@ InvalidArgument
The client specified an invalid argument.
Definition: qgrpcstatus.h:73