1// Copyright (C) 2022 The Qt Company Ltd.
2// Copyright (C) 2019 Alexey Edelev <semlanik@gmail.com>
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5#ifndef QPROTOBUFSERIALIZER_H
6#define QPROTOBUFSERIALIZER_H
7
8#include <QtProtobuf/qabstractprotobufserializer.h>
9#include <QtProtobuf/qtprotobufexports.h>
10
11#include <QtCore/qbytearrayview.h>
12#include <QtCore/qstring.h>
13
14#include <memory>
15
16QT_BEGIN_NAMESPACE
17
18class QProtobufMessage;
19class QProtobufSerializerPrivate;
20class Q_PROTOBUF_EXPORT QProtobufSerializer final : public QAbstractProtobufSerializer
21{
22 Q_DISABLE_COPY_MOVE(QProtobufSerializer)
23public:
24 QProtobufSerializer();
25 ~QProtobufSerializer() override;
26
27 Error lastError() const override;
28 QString lastErrorString() const override;
29
30 void shouldPreserveUnknownFields(bool preserveUnknownFields);
31
32private:
33 QByteArray serializeMessage(const QProtobufMessage *message) const override;
34 bool deserializeMessage(QProtobufMessage *message, QByteArrayView data) const override;
35
36 std::unique_ptr<QProtobufSerializerPrivate> d_ptr;
37};
38
39QT_END_NAMESPACE
40#endif // QPROTOBUFSERIALIZER_H
41

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtgrpc/src/protobuf/qprotobufserializer.h