The QAbstractProtobufSerializer class is interface that represents basic functions for serialization/deserialization. 更多...
| 头: |
#include <QAbstractProtobufSerializer>
|
| CMake: |
find_package(Qt6 REQUIRED COMPONENTS Protobuf)
target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
|
| Since: | Qt 6.5 |
| 继承者: |
注意: 此类的所有函数 可重入 .
(从 6.8 起)
枚举类
|
Error { None, InvalidHeader, UnknownType, UnexpectedEndOfStream, InvalidFormat } |
| virtual | ~QAbstractProtobufSerializer () |
| bool | deserialize (QProtobufMessage * message , QByteArrayView data ) const |
(从 6.8 起)
virtual QAbstractProtobufSerializer::Error
|
lastError () const = 0 |
(从 6.8 起)
virtual QString
|
lastErrorString () const = 0 |
| QByteArray | serialize (const QProtobufMessage * message ) const |
| Q_PROTOBUF_OBJECT |
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
直接。
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::
Error
This enum contains possible errors that can occur during deserialization. When an error occurs, call lastErrorString () to get a human-readable error message.
| 常量 | 值 | 描述 |
|---|---|---|
QAbstractProtobufSerializer::Error::None
|
0
|
没有出现错误。 |
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. |
该枚举在 Qt 6.8 引入。
[virtual noexcept]
QAbstractProtobufSerializer::
~QAbstractProtobufSerializer
()
销毁此 QAbstractProtobufSerializer .
Deserializes a registered Protobuf message
message
从
QByteArray
data
.
message
不得为
nullptr
。返回
true
if deserialization was successful, otherwise
false
.
Unexpected/unknown properties in the data are skipped.
另请参阅 serialize ().
[pure virtual, since 6.8]
QAbstractProtobufSerializer::Error
QAbstractProtobufSerializer::
lastError
() const
Returns the last error for the serializer instance.
该函数在 Qt 6.8 引入。
另请参阅 lastErrorString ().
[pure virtual, since 6.8]
QString
QAbstractProtobufSerializer::
lastErrorString
() const
Returns the last error string for the serializer instance.
该函数在 Qt 6.8 引入。
另请参阅 lastError ().
Serializes a registered Protobuf message
message
成
QByteArray
.
message
不得为
nullptr
.
另请参阅 deserialize ().
Declares the propertyOrdering member in a class inheriting QProtobufMessage . This is used as part of the code generated by the qtprotobufgen tool.