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: | QAbstractProtobufSerializer |
| Status: | Technical Preview |
Note: All functions in this class are reentrant.
Public Functions
| QProtobufSerializer() | |
| virtual | ~QProtobufSerializer() override |
| bool | deserializeEnum(QtProtobuf::int64 &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const |
| bool | deserializeEnumList(QList<QtProtobuf::int64> &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const |
| bool | deserializeListObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const |
| bool | deserializeMapPair(QVariant &key, QVariant &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const |
| bool | deserializeObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const |
| QByteArray | serializeEnum(QtProtobuf::int64 value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const |
| QByteArray | serializeEnumList(const QList<QtProtobuf::int64> &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const |
| QByteArray | serializeListObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const |
| QByteArray | serializeMapPair(const QVariant &key, const QVariant &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const |
| QByteArray | serializeObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const |
Reimplemented Public Functions
| virtual QProtobufSerializer::DeserializationError | deserializationError() const override |
| virtual QString | deserializationErrorString() const override |
| virtual bool | deserializeMessage(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QByteArrayView data) const override |
| virtual QByteArray | serializeMessage(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const override |
Related Non-Members
| void | qRegisterProtobufEnumType() |
| void | qRegisterProtobufMapType() |
| void | qRegisterProtobufType() |
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 build macro qt6_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] QProtobufSerializer::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.
bool QProtobufSerializer::deserializeEnum(QtProtobuf::int64 &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const
This function deserializes an enum value from a QProtobufSelfcheckIterator it. Returns true if deserialization was successful, otherwise false.
You should not call this function directly.
bool QProtobufSerializer::deserializeEnumList(QList<QtProtobuf::int64> &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const
This function deserializes a list of enum value from a QProtobufSelfcheckIterator it. Returns true if deserialization was successful, otherwise false.
You should not call this function directly.
bool QProtobufSerializer::deserializeListObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const
This function deserializes an message from byte stream as part of list property, with ordering from a QProtobufSelfcheckIterator it. Returns true if deserialization was successful, otherwise false.
You should not call this function directly.
bool QProtobufSerializer::deserializeMapPair(QVariant &key, QVariant &value, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const
This function deserializes QMap pair of key and value from a QProtobufSelfcheckIterator it. Returns true if deserialization was successful, otherwise false.
You should not call this function directly.
[override virtual] bool QProtobufSerializer::deserializeMessage(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QByteArrayView data) const
This is called by deserialize() to deserialize a registered Protobuf message message with ordering, from a QByteArrayView data. message can be assumed to not be nullptr. Returns true if deserialization was successful, otherwise false.
bool QProtobufSerializer::deserializeObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, QtProtobufPrivate::QProtobufSelfcheckIterator &it) const
Deserialize an message with ordering from a QProtobufSelfcheckIterator it. Returns true if deserialization was successful, otherwise false.
You should not call this function directly.
QByteArray QProtobufSerializer::serializeEnum(QtProtobuf::int64 value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes value as a QByteArray for enum associated with property fieldInfo.
You should not call this function directly.
QByteArray QProtobufSerializer::serializeEnumList(const QList<QtProtobuf::int64> &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes a list, value, as a QByteArray for enum associated with property fieldInfo.
You should not call this function directly.
QByteArray QProtobufSerializer::serializeListObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function is called to serialize message as a part of list property with ordering and fieldInfo.
You should not call this function directly.
QByteArray QProtobufSerializer::serializeMapPair(const QVariant &key, const QVariant &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes QMap pair of key and value with fieldInfo to a QByteArray
You should not call this function directly.
[override virtual] QByteArray QProtobufSerializer::serializeMessage(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const
This is called by serialize() to serialize a registered Protobuf message message with ordering. message must not be nullptr. Returns a QByteArray containing the serialized message.
QByteArray QProtobufSerializer::serializeObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
Serialize an message with ordering and fieldInfo. Returns a QByteArray containing the serialized message.
You should not call this function directly.
Related Non-Members
template <typename T> void qRegisterProtobufEnumType()
Registers serializers for enumeration type T in QtProtobuf global serializers registry.
This function is normally called by generated code.
template <typename K, typename V> void qRegisterProtobufMapType()
Registers a Protobuf map type K and V. V must be a QProtobufMessage. This function is normally called by generated code.
template <typename T> void qRegisterProtobufType()
Registers a Protobuf type T. This function is normally called by generated code.