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 |
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 function qt_add_protobuf or by running qtprotobufgen directly.
Member Function Documentation
QProtobufSerializer::QProtobufSerializer()
Constructs a new serializer instance.
[override virtual]
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.
© 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.