The QAbstractProtobufSerializer class is interface that represents basic functions for serialization/deserialization. More...
| Header: | #include <QAbstractProtobufSerializer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Protobuf)target_link_libraries(mytarget PRIVATE Qt6::Protobuf) |
| Since: | Qt 6.5 |
| Inherited By: |
Note: All functions in this class are reentrant.
(since 6.8) enum class |
Error { None, InvalidHeader, UnknownType, UnexpectedEndOfStream, InvalidFormat } |
| virtual | ~QAbstractProtobufSerializer() |
| bool | deserialize(QProtobufMessage *message, QByteArrayView data) const |
(since 6.8) virtual QAbstractProtobufSerializer::Error |
lastError() const = 0 |
(since 6.8) virtual QString |
lastErrorString() const = 0 |
| QByteArray | serialize(const QProtobufMessage *message) const |
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.
This class should be used as a base for specific serializers. The handlers property contains all message-specific serializers and should be used while serialization/deserialization. Inherited classes should reimplement scope of virtual methods that used by registered message serialization/deserialization functions.
[since 6.8] enum class QAbstractProtobufSerializer::ErrorThis enum contains possible errors that can occur during deserialization. When an error occurs, call lastErrorString() to get a human-readable error message.
| Constant | Value | Description |
|---|---|---|
QAbstractProtobufSerializer::Error::None |
0 |
No error occurred. |
QAbstractProtobufSerializer::Error::InvalidHeader |
1 |
Something went wrong while attempting to decode a header in the message. |
QAbstractProtobufSerializer::Error::UnknownType |
2 |
While serializing or deserializing a message, no deserializer was found for a message field. |
QAbstractProtobufSerializer::Error::UnexpectedEndOfStream |
3 |
While deserializing a message, the stream ended unexpectedly. |
QAbstractProtobufSerializer::Error::InvalidFormat |
4 |
The data has invalid format. For example the JSON value doesn't match the field type. |
This enum was introduced in Qt 6.8.
[virtual noexcept] QAbstractProtobufSerializer::~QAbstractProtobufSerializer()Destroys this QAbstractProtobufSerializer.
Deserializes a registered Protobuf message message from a QByteArray data. message must not be nullptr. Returns true if deserialization was successful, otherwise false.
Unexpected/unknown properties in the data are skipped.
See also serialize().
[pure virtual, since 6.8] QAbstractProtobufSerializer::Error QAbstractProtobufSerializer::lastError() constReturns the last error for the serializer instance.
This function was introduced in Qt 6.8.
See also lastErrorString().
[pure virtual, since 6.8] QString
QAbstractProtobufSerializer::lastErrorString() constReturns the last error string for the serializer instance.
This function was introduced in Qt 6.8.
See also lastError().
Serializes a registered Protobuf message message into a QByteArray. message must not be nullptr.
See also deserialize().
Declares the propertyOrdering member in a class inheriting QProtobufMessage. This is used as part of the code generated by the qtprotobufgen tool.