QGrpcSerializationFormat Class
QGrpcSerializationFormatクラスは、protobufメッセージシリアライザーと関連するcontent-typeサフィックスを保持します。詳細...
ヘッダー | #include <QGrpcSerializationFormat> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
以来: | Qt 6.8 |
このクラスは等価比較可能です。
パブリック関数
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) |
関連する非メンバー
(since 6.8) QDebug | operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt) |
詳細説明
QGrpcSerializationFormatクラスは、protobufメッセージのシリアライズとデシリアライズに使用されるserializer 、トランスポートのメッセージエンコーディングを示す関連するcontent-typesuffix 。HTTP/2 特有の詳細については、Content-Type のセクションを参照してください。
注意: content-typeはトランスポートであり、したがって実装に固有です。
このクラスは、SerializationFormat プリセットの1つ、またはカスタムのサフィックスとシリアライザを使用して構築できます:
QGrpcSerializationFormat jsonFormat(QtGrpc::SerializationFormat::Json);
これは、json
のサフィックスを持つQProtobufJsonSerializer を作成します。HTTP/2トランスポートでは、application/grpc+json
content-typeになります。
class DummySerializer : public QAbstractProtobufSerializer { ... }; QGrpcSerializationFormat dummyFormat("dummy", std::make_shared<DummySerializer>());
dummy
サフィックスを持つメッセージのエンコードとデコードにDummySerializer
を使用します。HTTP/2トランスポートでは、application/grpc+dummy
content-typeになります。
注意: カスタムシリアライザーは、指定されたフォーマットに対応したサーバーを必要とします。
QGrpcChannelOptions::serializationFormatも参照してください 。
メンバ関数のドキュメント
QGrpcSerializationFormat::QGrpcSerializationFormat(QtGrpc::SerializationFormat format = {})
指定されたプリセットformat で新しい QGrpcSerializationFormat を構築します。
デフォルトのフォーマットはSerializationFormat::Default です。
[explicit]
QGrpcSerializationFormat::QGrpcSerializationFormat(QByteArrayView suffix, std::shared_ptr<QAbstractProtobufSerializer> serializer)
suffix と protobuf メッセージserializer で指定されたカスタム・コンテンツ・タイプを持つ新しい QGrpcSerializationFormat を構築します。
QGrpcSerializationFormat::QGrpcSerializationFormat(const QGrpcSerializationFormat &other)
other のコピーを作成する。
[noexcept]
QGrpcSerializationFormat::QGrpcSerializationFormat(QGrpcSerializationFormat &&other)
Move-constructs new QGrpcSerializationFormat fromother.
注意: 移動元のオブジェクトother は、部分的に形成された状態に置かれます。この状態では、有効な操作は破棄と新しい値の割り当てのみです。
[noexcept]
QGrpcSerializationFormat::~QGrpcSerializationFormat()
QGrpcSerializationFormat を破壊する。
std::shared_ptr<QAbstractProtobufSerializer> QGrpcSerializationFormat::serializer() const
このシリアライゼーション・フォーマットのシリアライザーを返します。
/saQAbstractProtobufSerializer
[noexcept]
QByteArrayView QGrpcSerializationFormat::suffix() const
このシリアライズ形式のコンテントタイプサフィックスを返します。
[noexcept, since 6.8]
void QGrpcSerializationFormat::swap(QGrpcSerializationFormat &other)
other をこのオブジェクトと交換する。この操作は非常に高速で、失敗することはありません。
この関数は Qt 6.8 で導入されました。
[since 6.8]
QVariant QGrpcSerializationFormat::operator QVariant() const
このオブジェクトから新しいQVariant を構築します。
この関数は Qt 6.8 で導入されました。
[noexcept]
QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(QGrpcSerializationFormat &&other)
Move-このQGrpcSerializationFormat インスタンスにother を割り当て、その参照を返す。
注: 移動元のオブジェクトother は、部分的に形成された状態に置かれる。この状態では、有効な操作は破壊と新しい値の割り当てだけである。
QGrpcSerializationFormat &QGrpcSerializationFormat::operator=(const QGrpcSerializationFormat &other)
other QGrpcSerializationFormat オブジェクトをこのオブジェクトに割り当てます。
関連する非会員
[since 6.8]
QDebug operator<<(QDebug debug, const QGrpcSerializationFormat &sfmt)
sfmt を指定されたストリームdebug に書き込みます。
この関数は Qt 6.8 で導入されました。
© 2025 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.