QGrpcSerializationFormat Class
La clase QGrpcSerializationFormat contiene el serializador de mensajes protobuf y el sufijo de tipo de contenido asociado. Más...
| Cabecera: | #include <QGrpcSerializationFormat> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc)target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| Desde: | Qt 6.8 |
Esta clase es igual-comparable.
Funciones Públicas
| 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) |
No miembros relacionados
(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) |
Descripción Detallada
La clase QGrpcSerializationFormat contiene el serializer utilizado para serializar y deserializar mensajes protobuf, así como el content-type asociado suffix, que indica la codificación del mensaje en el transporte. Para detalles específicos de HTTP/2 consulte la sección Content-Type.
Nota: El tipo de contenido es específico del transporte y, por tanto, de la implementación.
La clase puede construirse utilizando uno de los preajustes de SerializationFormat o un sufijo y serializador personalizados:
QGrpcSerializationFormat jsonFormat(QtGrpc::SerializationFormat::Json);
Esto crea un QProtobufJsonSerializer con el sufijo json. Para el transporte HTTP/2, el resultado es el tipo de contenido application/grpc+json.
class DummySerializer : public QAbstractProtobufSerializer { ... }; QGrpcSerializationFormat dummyFormat("dummy", std::make_shared<DummySerializer>());
Utiliza DummySerializer para codificar y descodificar mensajes con el sufijo dummy. Para el transporte HTTP/2, el resultado es el tipo de contenido application/grpc+dummy.
Nota: Los serializadores personalizados requieren que el servidor soporte el formato especificado.
Véase también QGrpcChannelOptions::serializationFormat.
Documentación de las funciones miembro
QGrpcSerializationFormat::QGrpcSerializationFormat(QtGrpc::SerializationFormat format = {})
Construye un nuevo QGrpcSerializationFormat con el preajuste especificado format.
El formato utilizado por defecto es SerializationFormat::Default.
[explicit] QGrpcSerializationFormat::QGrpcSerializationFormat(QByteArrayView suffix, std::shared_ptr<QAbstractProtobufSerializer> serializer)
Construye un nuevo QGrpcSerializationFormat con un tipo de contenido personalizado especificado por suffix y un mensaje protobuf serializer.
QGrpcSerializationFormat::QGrpcSerializationFormat(const QGrpcSerializationFormat &other)
Construye una copia de other.
[constexpr noexcept] QGrpcSerializationFormat::QGrpcSerializationFormat(QGrpcSerializationFormat &&other)
Move-construye un nuevo QGrpcSerializationFormat a partir de other.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
[noexcept] QGrpcSerializationFormat::~QGrpcSerializationFormat()
Destruye el QGrpcSerializationFormat.
std::shared_ptr<QAbstractProtobufSerializer> QGrpcSerializationFormat::serializer() const
Devuelve el serializador para este formato de serialización.
/sa QAbstractProtobufSerializer
[noexcept] QByteArrayView QGrpcSerializationFormat::suffix() const
Devuelve el sufijo del tipo de contenido para este formato de serialización.
[noexcept, since 6.8] void QGrpcSerializationFormat::swap(QGrpcSerializationFormat &other)
Intercambia other con este objeto. Esta operación es muy rápida y nunca falla.
Esta función se introdujo en Qt 6.8.
[since 6.8] QGrpcSerializationFormat::operator QVariant() const
Construye un nuevo QVariant a partir de este objeto.
Esta función se introdujo en Qt 6.8.
[noexcept] QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(QGrpcSerializationFormat &&other)
Mover-asigna other a esta instancia QGrpcSerializationFormat y devuelve una referencia a la misma.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(const QGrpcSerializationFormat &other)
Asigna el objeto other QGrpcSerializationFormat a éste.
Relacionados No miembros
[noexcept, since 6.8] size_t qHash(const QGrpcSerializationFormat &key)
Devuelve el valor hash de key, usando 0 para sembrar el cálculo.
Esta función se introdujo en Qt 6.8.
[noexcept, since 6.8] size_t qHash(const QGrpcSerializationFormat &key, size_t seed)
Devuelve el valor hash de key, usando seed para sembrar el cálculo.
Esta función se introdujo en Qt 6.8.
[noexcept, since 6.8] bool operator!=(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)
Devuelve true si suffix y serializer, en lhs y rhs no son iguales.
Esta función se introdujo en Qt 6.8.
[since 6.8] QDebug operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt)
Escribe sfmt en el flujo especificado debug.
Esta función se introdujo en Qt 6.8.
[noexcept, since 6.8] bool operator==(const QGrpcSerializationFormat &lhs, const QGrpcSerializationFormat &rhs)
Devuelve true si suffix y serializer, en lhs y rhs son iguales.
Esta función se introdujo en 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.