QProtobufBaseSerializer Class
The QProtobufBaseSerializer class is an interface that represents basic functions for serializing/deserializing objects, lists, and enums. More...
Header: | #include <QProtobufBaseSerializer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Protobuf) target_link_libraries(mytarget PRIVATE Qt6::Protobuf) |
Since: | Qt 6.7 |
Inherits: | QAbstractProtobufSerializer |
Inherited By: | |
Status: | Technical Preview |
Public Functions
virtual bool | deserializeEnum(QtProtobuf::int64 &value, const QMetaEnum &metaEnum) const = 0 |
virtual bool | deserializeEnumList(QList<QtProtobuf::int64> &value, const QMetaEnum &metaEnum) const = 0 |
virtual bool | deserializeListObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const = 0 |
virtual bool | deserializeMapPair(QVariant &key, QVariant &value) const = 0 |
virtual bool | deserializeObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const = 0 |
virtual void | serializeEnum(QtProtobuf::int64 value, const QMetaEnum &metaEnum, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const = 0 |
virtual void | serializeEnumList(const QList<QtProtobuf::int64> &value, const QMetaEnum &metaEnum, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const = 0 |
virtual void | serializeListObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const = 0 |
virtual void | serializeMapPair(const QVariant &key, const QVariant &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const = 0 |
virtual void | serializeObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const = 0 |
Related Non-Members
void | qRegisterProtobufEnumType() |
void | qRegisterProtobufMapType() |
void | qRegisterProtobufType() |
Detailed Description
The QProtobufBaseSerializer 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.
Member Function Documentation
[pure virtual]
bool QProtobufBaseSerializer::deserializeEnum(QtProtobuf::int64 &value, const QMetaEnum &metaEnum) const
This function deserializes an enum value from a wire. metaEnum helps to decode the enum value. Returns true
if deserialization was successful, otherwise false
.
You should not call this function directly.
See also QProtobufBaseSerializer::serializeEnum().
[pure virtual]
bool QProtobufBaseSerializer::deserializeEnumList(QList<QtProtobuf::int64> &value, const QMetaEnum &metaEnum) const
This function deserializes a list of enum value from a wire. metaEnum helps to decode the enum value. Returns true
if deserialization was successful, otherwise false
.
You should not call this function directly.
See also QProtobufBaseSerializer::serializeEnumList().
[pure virtual]
bool QProtobufBaseSerializer::deserializeListObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const
This function deserializes an message from byte stream as part of list property, with the associated message ordering from a wire. Returns true
if deserialization was successful, otherwise false
.
You should not call this function directly.
See also QProtobufBaseSerializer::serializeListObject().
[pure virtual]
bool QProtobufBaseSerializer::deserializeMapPair(QVariant &key, QVariant &value) const
This function deserializes a pair of key and value from a wire. Returns true
if deserialization was successful, otherwise false
.
You should not call this function directly.
See also QProtobufBaseSerializer::serializeMapPair().
[pure virtual]
bool QProtobufBaseSerializer::deserializeObject(QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering) const
This function deserializes a registered Protobuf message message with defined ordering. message must not be nullptr
. Returns true
if deserialization was successful, otherwise false
.
You should not call this function directly.
See also QProtobufBaseSerializer::serializeObject().
[pure virtual]
void QProtobufBaseSerializer::serializeEnum(QtProtobuf::int64 value, const QMetaEnum &metaEnum, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes value from enum associated with property fieldInfo. metaEnum helps to encode the enum value.
You should not call this function directly.
See also QProtobufBaseSerializer::deserializeEnum().
[pure virtual]
void QProtobufBaseSerializer::serializeEnumList(const QList<QtProtobuf::int64> &value, const QMetaEnum &metaEnum, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes a list, value, for enum list associated with property fieldInfo. metaEnum helps to encode the enum value.
You should not call this function directly.
See also QProtobufBaseSerializer::deserializeEnumList().
[pure virtual]
void QProtobufBaseSerializer::serializeListObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes message as part of a list of messages one by one with ordering and fieldInfo.
You should not call this function directly.
See also QProtobufBaseSerializer::deserializeListObject().
[pure virtual]
void QProtobufBaseSerializer::serializeMapPair(const QVariant &key, const QVariant &value, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes pair of key and value, that belong as a protobuf map record, according to fieldInfo.
You should not call this function directly.
See also QProtobufBaseSerializer::deserializeMapPair().
[pure virtual]
void QProtobufBaseSerializer::serializeObject(const QProtobufMessage *message, const QtProtobufPrivate::QProtobufPropertyOrdering &ordering, const QtProtobufPrivate::QProtobufPropertyOrderingInfo &fieldInfo) const
This function serializes a registered Protobuf message message with defined ordering and fieldInfo, that is recognized like an object, into a QByteArray. message must not be nullptr
.
You should not call this function directly.
See also QProtobufBaseSerializer::deserializeObject().
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.