QProtobufSerializer Class

The QProtobufSerializer class is interface that represents basic functions for serialization/deserialization. More...

Header: #include <QProtobufSerializer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Protobuf)
target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
Since: Qt 6.5
Inherits: QProtobufBaseSerializer
Status: Technical Preview

Public Functions

QProtobufSerializer()
virtual ~QProtobufSerializer() override
(since 6.7) void shouldPreserveUnknownFields(bool preserveUnknownFields)

Reimplemented Public Functions

virtual QAbstractProtobufSerializer::DeserializationError deserializationError() const override
virtual QString deserializationErrorString() const override

Detailed Description

The QProtobufSerializer class registers serializers/deserializers for classes implementing a protobuf message, inheriting QProtobufMessage. These classes are generated automatically, based on a .proto file, using the CMake function qt_add_protobuf or by running qtprotobufgen directly.

Member Function Documentation

QProtobufSerializer::QProtobufSerializer()

Constructs a new serializer instance.

[override virtual noexcept] QProtobufSerializer::~QProtobufSerializer()

Destroys the serializer instance.

[override virtual] QAbstractProtobufSerializer::DeserializationError QProtobufSerializer::deserializationError() const

Returns the last deserialization error.

[override virtual] QString QProtobufSerializer::deserializationErrorString() const

Returns a human-readable string describing the last deserialization error. If there was no error, an empty string is returned.

[since 6.7] void QProtobufSerializer::shouldPreserveUnknownFields(bool preserveUnknownFields)

Controls whether the unknown fields received from the wire should be stored in the resulting message or if it should be omitted, based on preserveUnknownFields.

This function was introduced in Qt 6.7.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.