QGrpcSerializationFormat Class
The QGrpcSerializationFormat class holds the protobuf message serializer and the associated content-type suffix. More...
Header: | #include <QGrpcSerializationFormat> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
Since: | Qt 6.8 |
This class is equality-comparable.
Public Functions
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) QVariant | operator QVariant() const |
QGrpcSerializationFormat & | operator=(QGrpcSerializationFormat &&other) |
QGrpcSerializationFormat & | operator=(const QGrpcSerializationFormat &other) |
Related Non-Members
(since 6.8) QDebug | operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt) |
Detailed Description
The QGrpcSerializationFormat class contains the serializer used for serializing and deserializing protobuf messages, as well as the associated content-type suffix, which indicates the message encoding in transport. For HTTP/2 specific details see the Content-Type section.
Note: The content-type is transport, and therefore implementation specific.
The class can be constructed using one of the SerializationFormat presets or a custom suffix and serializer:
QGrpcSerializationFormat jsonFormat(QtGrpc::SerializationFormat::Json);
This creates a QProtobufJsonSerializer with the json
suffix. For HTTP/2 transportation this results in the application/grpc+json
content-type.
class DummySerializer : public QAbstractProtobufSerializer { ... }; QGrpcSerializationFormat dummyFormat("dummy", std::make_shared<DummySerializer>());
This uses DummySerializer
for encoding and decoding messages with the dummy
suffix. For HTTP/2 transportation this results in the application/grpc+dummy
content-type.
Note: Custom serializers require server support for the specified format.
See also QGrpcChannelOptions::serializationFormat.
Member Function Documentation
QGrpcSerializationFormat::QGrpcSerializationFormat(QtGrpc::SerializationFormat format = {})
Constructs a new QGrpcSerializationFormat with the specified preset format.
The default format used is SerializationFormat::Default.
[explicit]
QGrpcSerializationFormat::QGrpcSerializationFormat(QByteArrayView suffix, std::shared_ptr<QAbstractProtobufSerializer> serializer)
Constructs a new QGrpcSerializationFormat with a custom content type specified by suffix and a protobuf message serializer.
QGrpcSerializationFormat::QGrpcSerializationFormat(const QGrpcSerializationFormat &other)
Constructs a copy of other.
[noexcept]
QGrpcSerializationFormat::QGrpcSerializationFormat(QGrpcSerializationFormat &&other)
Move-constructs a new QGrpcSerializationFormat from other.
Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.
[noexcept]
QGrpcSerializationFormat::~QGrpcSerializationFormat()
Destroys the QGrpcSerializationFormat.
std::shared_ptr<QAbstractProtobufSerializer> QGrpcSerializationFormat::serializer() const
Returns the serializer for this serialization format.
/sa QAbstractProtobufSerializer
[noexcept]
QByteArrayView QGrpcSerializationFormat::suffix() const
Returns the content type suffix for this serialization format.
[noexcept, since 6.8]
void QGrpcSerializationFormat::swap(QGrpcSerializationFormat &other)
Swaps other with this object. This operation is very fast and never fails.
This function was introduced in Qt 6.8.
[since 6.8]
QVariant QGrpcSerializationFormat::operator QVariant() const
Constructs a new QVariant from this object.
This function was introduced in Qt 6.8.
[noexcept]
QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(QGrpcSerializationFormat &&other)
Move-assigns other to this QGrpcSerializationFormat instance and returns a reference to it.
Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.
QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(const QGrpcSerializationFormat &other)
Assigns the other QGrpcSerializationFormat object to this one.
Related Non-Members
[since 6.8]
QDebug operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt)
Writes sfmt to the specified stream debug.
This function was introduced in Qt 6.8.
© 2024 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.