QAbstractProtobufSerializer Class
La clase QAbstractProtobufSerializer es una interfaz que representa funciones básicas de serialización/deserialización. Más...
| Cabecera: | #include <QAbstractProtobufSerializer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Protobuf)target_link_libraries(mytarget PRIVATE Qt6::Protobuf) |
| Desde: | Qt 6.5 |
| Heredado por: |
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
(since 6.8) enum class | Error { None, InvalidHeader, UnknownType, UnexpectedEndOfStream, InvalidFormat } |
Funciones Públicas
| 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 |
Funciones Privadas
| virtual bool | deserializeMessage(QProtobufMessage *message, QByteArrayView data) const = 0 |
| virtual QByteArray | serializeMessage(const QProtobufMessage *message) const = 0 |
Macros
Descripción detallada
La clase QProtobufSerializer registra serializadores/deserializadores para clases que implementan un mensaje protobuf, heredando QProtobufMessage. Estas clases se generan automáticamente, basándose en un fichero .proto, utilizando la función de CMake qt_add_protobuf o ejecutando qtprotobufgen directamente.
Esta clase debe utilizarse como base para serializadores específicos. La propiedad handlers contiene todos los serializadores específicos de mensajes y debe utilizarse durante la serialización/deserialización. Las clases heredadas deben reimplementar el alcance de los métodos virtuales que utilizan las funciones de serialización/deserialización de mensajes registradas.
Documentación de tipos de miembros
[since 6.8] enum class QAbstractProtobufSerializer::Error
Este enum contiene posibles errores que pueden ocurrir durante la deserialización. Cuando se produce un error, llame a lastErrorString() para obtener un mensaje de error legible por humanos.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractProtobufSerializer::Error::None | 0 | No se ha producido ningún error. |
QAbstractProtobufSerializer::Error::InvalidHeader | 1 | Algo ha ido mal al intentar descodificar una cabecera del mensaje. |
QAbstractProtobufSerializer::Error::UnknownType | 2 | Al serializar o deserializar un mensaje, no se ha encontrado ningún deserializador para un campo del mensaje. |
QAbstractProtobufSerializer::Error::UnexpectedEndOfStream | 3 | Al deserializar un mensaje, el flujo finalizó inesperadamente. |
QAbstractProtobufSerializer::Error::InvalidFormat | 4 | Los datos tienen un formato no válido. Por ejemplo, el valor JSON no coincide con el tipo de campo. |
Este enum se introdujo en Qt 6.8.
Documentación de las funciones miembro
[virtual noexcept] QAbstractProtobufSerializer::~QAbstractProtobufSerializer()
Destruye este QAbstractProtobufSerializer.
bool QAbstractProtobufSerializer::deserialize(QProtobufMessage *message, QByteArrayView data) const
Deserializa un mensaje Protobuf registrado message a partir de un QByteArray data . message no debe ser nullptr. Devuelve true si la deserialización se ha realizado correctamente, en caso contrario false.
Las propiedades inesperadas/desconocidas en data se omiten.
Véase también serialize().
[pure virtual private] bool QAbstractProtobufSerializer::deserializeMessage(QProtobufMessage *message, QByteArrayView data) const
Esto es llamado por deserialize() para deserializar un Protobuf registrado message de un QByteArrayView data . Se puede asumir que message no es nullptr. Devuelve true si la deserialización se ha realizado correctamente, en caso contrario false.
[pure virtual, since 6.8] QAbstractProtobufSerializer::Error QAbstractProtobufSerializer::lastError() const
Devuelve el último error de la instancia del serializador.
Esta función se introdujo en Qt 6.8.
Véase también lastErrorString().
[pure virtual, since 6.8] QString QAbstractProtobufSerializer::lastErrorString() const
Devuelve la última cadena de error para la instancia del serializador.
Esta función se introdujo en Qt 6.8.
Véase también lastError().
QByteArray QAbstractProtobufSerializer::serialize(const QProtobufMessage *message) const
Serializa un mensaje Protobuf registrado message en un QByteArray. message no debe ser nullptr.
Véase también deserialize().
[pure virtual private] QByteArray QAbstractProtobufSerializer::serializeMessage(const QProtobufMessage *message) const
Es llamada por serialize() para serializar un Protobuf registrado message. message no debe ser nullptr. Devuelve un QByteArray que contiene el mensaje serializado.
Documentación de macros
Q_PROTOBUF_OBJECT
Declara el miembro propertyOrdering en una clase que hereda de QProtobufMessage. Se utiliza como parte del código generado por la herramienta qtprotobufgen.
© 2026 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.