Sur cette page

QAbstractProtobufSerializer Class

La classe QAbstractProtobufSerializer est une interface qui représente les fonctions de base de la sérialisation/désérialisation. Plus d'informations...

En-tête : #include <QAbstractProtobufSerializer>
CMake : find_package(Qt6 REQUIRED COMPONENTS Protobuf)
target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
Depuis : Qt 6.5
Hérité par :

QProtobufJsonSerializer et QProtobufSerializer

Note : Toutes les fonctions de cette classe sont réentrantes.

Types publics

(since 6.8) enum class Error { None, InvalidHeader, UnknownType, UnexpectedEndOfStream, InvalidFormat }

Fonctions publiques

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

Fonctions privées

virtual bool deserializeMessage(QProtobufMessage *message, QByteArrayView data) const = 0
virtual QByteArray serializeMessage(const QProtobufMessage *message) const = 0

Macros

Description détaillée

La classe QProtobufSerializer enregistre les sérialiseurs/désérialiseurs pour les classes implémentant un message protobuf, héritant de QProtobufMessage. Ces classes sont générées automatiquement, sur la base d'un fichier .proto, en utilisant la fonction CMake qt_add_protobuf ou en exécutant directement qtprotobufgen.

Cette classe doit être utilisée comme base pour des sérialiseurs spécifiques. La propriété handlers contient tous les sérialiseurs spécifiques aux messages et doit être utilisée lors de la sérialisation/désérialisation. Les classes héritées doivent réimplémenter les méthodes virtuelles utilisées par les fonctions de sérialisation/désérialisation de messages enregistrées.

Documentation sur les types de membres

[since 6.8] enum class QAbstractProtobufSerializer::Error

Cette énumération contient les erreurs possibles qui peuvent survenir lors de la désérialisation. Lorsqu'une erreur se produit, appelez lastErrorString() pour obtenir un message d'erreur lisible par l'homme.

ConstanteValeurDescription de l'erreur
QAbstractProtobufSerializer::Error::None0Aucune erreur n'est survenue.
QAbstractProtobufSerializer::Error::InvalidHeader1Un problème s'est produit lors de la tentative de décodage d'un en-tête dans le message.
QAbstractProtobufSerializer::Error::UnknownType2Lors de la sérialisation ou de la désérialisation d'un message, aucun désérialiseur n'a été trouvé pour un champ de message.
QAbstractProtobufSerializer::Error::UnexpectedEndOfStream3Lors de la désérialisation d'un message, le flux s'est terminé de manière inattendue.
QAbstractProtobufSerializer::Error::InvalidFormat4Le format des données n'est pas valide. Par exemple, la valeur JSON ne correspond pas au type de champ.

Cette énumération a été introduite dans Qt 6.8.

Documentation des fonctions membres

[virtual noexcept] QAbstractProtobufSerializer::~QAbstractProtobufSerializer()

Détruit cette QAbstractProtobufSerializer.

bool QAbstractProtobufSerializer::deserialize(QProtobufMessage *message, QByteArrayView data) const

Désérialise un message Protobuf enregistré message à partir d'un QByteArray data . message ne doit pas être nullptr. Retourne true si la désérialisation a réussi, sinon false.

Les propriétés inattendues/inconnues dans data sont ignorées.

Voir aussi serialize().

[pure virtual private] bool QAbstractProtobufSerializer::deserializeMessage(QProtobufMessage *message, QByteArrayView data) const

Cette fonction est appelée par deserialize() pour désérialiser un Protobuf enregistré message à partir d'un QByteArrayView data . message peut être supposé ne pas être nullptr. Retourne true si la désérialisation a réussi, sinon false.

[pure virtual, since 6.8] QAbstractProtobufSerializer::Error QAbstractProtobufSerializer::lastError() const

Renvoie la dernière erreur pour l'instance de sérialiseur.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi lastErrorString().

[pure virtual, since 6.8] QString QAbstractProtobufSerializer::lastErrorString() const

Renvoie la dernière chaîne d'erreur pour l'instance de sérialiseur.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi lastError().

QByteArray QAbstractProtobufSerializer::serialize(const QProtobufMessage *message) const

Sérialise un message Protobuf enregistré message en QByteArray. message ne doit pas être nullptr.

Voir aussi deserialize().

[pure virtual private] QByteArray QAbstractProtobufSerializer::serializeMessage(const QProtobufMessage *message) const

Cette fonction est appelée par serialize() pour sérialiser un Protobuf enregistré message. message ne doit pas être nullptr. Renvoie un QByteArray contenant le message sérialisé.

Documentation sur les macros

Q_PROTOBUF_OBJECT

Déclare le membre propertyOrdering dans une classe héritant de QProtobufMessage. Ce membre est utilisé dans le code généré par l'outil 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.