Sur cette page

QGrpcSerializationFormat Class

La classe QGrpcSerializationFormat contient le sérialiseur de messages protobuf et le suffixe de type de contenu associé. Plus d'informations...

En-tête : #include <QGrpcSerializationFormat>
CMake : find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Depuis : Qt 6.8

Cette classe est comparable à l'égalité.

Fonctions publiques

QGrpcSerializationFormat(QtGrpc::SerializationFormat format = {})
QGrpcSerializationFormat(QByteArrayView suffix, std::shared_ptr<QAbstractProtobufSerializer> serializer)
QGrpcSerializationFormat(const QGrpcSerializationFormat &other)
QGrpcSerializationFormat(QGrpcSerializationFormat &&other)
~QGrpcSerializationFormat()
std::shared_ptr<QAbstractProtobufSerializer> serializer() const
QByteArrayView suffix() const
(since 6.8) void swap(QGrpcSerializationFormat &other)
(since 6.8) operator QVariant() const
QGrpcSerializationFormat &operator=(QGrpcSerializationFormat &&other)
QGrpcSerializationFormat &operator=(const QGrpcSerializationFormat &other)
(since 6.8) size_t qHash(const QGrpcSerializationFormat &key)
(since 6.8) size_t qHash(const QGrpcSerializationFormat &key, size_t seed)
(since 6.8) bool operator!=(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)
(since 6.8) QDebug operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt)
(since 6.8) bool operator==(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)

Description détaillée

La classe QGrpcSerializationFormat contient le site serializer utilisé pour sérialiser et désérialiser les messages protobuf, ainsi que le type de contenu associé suffix, qui indique l'encodage du message dans le transport. Pour les détails spécifiques à HTTP/2, voir la section Content-Type.

Note : Le type de contenu est spécifique au transport et donc à l'implémentation.

La classe peut être construite en utilisant l'un des préréglages SerializationFormat ou un suffixe et un sérialiseur personnalisés :

QGrpcSerializationFormat jsonFormat(QtGrpc::SerializationFormat::Json);

Ceci crée un QProtobufJsonSerializer avec le suffixe json. Pour le transport HTTP/2, cela donne le type de contenu application/grpc+json.

class DummySerializer : public QAbstractProtobufSerializer
{
    ...
};
QGrpcSerializationFormat dummyFormat("dummy", std::make_shared<DummySerializer>());

Ceci utilise DummySerializer pour encoder et décoder les messages avec le suffixe dummy. Pour le transport HTTP/2, cela donne le type de contenu application/grpc+dummy.

Remarque : les sérialiseurs personnalisés doivent être pris en charge par le serveur pour le format spécifié.

Voir aussi QGrpcChannelOptions::serializationFormat.

Documentation des fonctions membres

QGrpcSerializationFormat::QGrpcSerializationFormat(QtGrpc::SerializationFormat format = {})

Construit un nouveau QGrpcSerializationFormat avec le préréglage spécifié format.

Le format utilisé par défaut est SerializationFormat::Default.

[explicit] QGrpcSerializationFormat::QGrpcSerializationFormat(QByteArrayView suffix, std::shared_ptr<QAbstractProtobufSerializer> serializer)

Construit un nouveau QGrpcSerializationFormat avec un type de contenu personnalisé spécifié par suffix et un message protobuf serializer.

QGrpcSerializationFormat::QGrpcSerializationFormat(const QGrpcSerializationFormat &other)

Construit une copie de other.

[constexpr noexcept] QGrpcSerializationFormat::QGrpcSerializationFormat(QGrpcSerializationFormat &&other)

Move-construit un nouveau QGrpcSerializationFormat à partir de other.

Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.

[noexcept] QGrpcSerializationFormat::~QGrpcSerializationFormat()

Détruit le site QGrpcSerializationFormat.

std::shared_ptr<QAbstractProtobufSerializer> QGrpcSerializationFormat::serializer() const

Renvoie le sérialiseur pour ce format de sérialisation.

/sa QAbstractProtobufSerializer

[noexcept] QByteArrayView QGrpcSerializationFormat::suffix() const

Renvoie le suffixe du type de contenu pour ce format de sérialisation.

[noexcept, since 6.8] void QGrpcSerializationFormat::swap(QGrpcSerializationFormat &other)

Échange other avec cet objet. Cette opération est très rapide et n'échoue jamais.

Cette fonction a été introduite dans Qt 6.8.

[since 6.8] QGrpcSerializationFormat::operator QVariant() const

Construit un nouveau QVariant à partir de cet objet.

Cette fonction a été introduite dans Qt 6.8.

[noexcept] QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(QGrpcSerializationFormat &&other)

Move-assigne other à cette instance QGrpcSerializationFormat et renvoie une référence à cet objet.

Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.

QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(const QGrpcSerializationFormat &other)

Attribue l'objet other QGrpcSerializationFormat à celui-ci.

Non-membres apparentés

[noexcept, since 6.8] size_t qHash(const QGrpcSerializationFormat &key)

Renvoie la valeur de hachage de key, en utilisant 0 comme base de calcul.

Cette fonction a été introduite dans Qt 6.8.

[noexcept, since 6.8] size_t qHash(const QGrpcSerializationFormat &key, size_t seed)

Renvoie la valeur de hachage de key, en utilisant seed comme base de calcul.

Cette fonction a été introduite dans Qt 6.8.

[noexcept, since 6.8] bool operator!=(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)

Renvoie true si suffix et serializer, dans lhs et rhs ne sont pas égaux.

Cette fonction a été introduite dans Qt 6.8.

[since 6.8] QDebug operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt)

Écrit sfmt dans le flux spécifié debug.

Cette fonction a été introduite dans Qt 6.8.

[noexcept, since 6.8] bool operator==(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)

Renvoie true si suffix et serializer, dans lhs et rhs sont égaux.

Cette fonction a été introduite dans Qt 6.8.

© 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.