nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

ソフトウェア アップデート イメージの整合性タイプと実際のハッシュを保持する補助クラス。

概要

このオブジェクトは、ハッシュのタイプとソフトウェア アップデート イメージの実際のハッシュを指定する IntegrityTypes フィールドを保持します。ハッシュの長さはハッシュのタイプに基づいて固定されます。オブジェクトは、サポートされているハッシュのうち最大のものを保持するようにサイズされます。

コンストラクタとデストラクタ

IntegritySpec()
IntegritySpec のデフォルト コンストラクタ。

パブリック属性

type
uint8_t
ハッシュのタイプ。IntegrityTypes から取得する値です。
value[64]
uint8_t
URI フィールドで識別されるソフトウェア イメージの完全性値を含む、可変長のバイトのシーケンス。

パブリック関数

init(uint8_t, uint8_t *)
指定された値で IntegritySpec オブジェクトを明示的に初期化します。
operator==(const IntegritySpec &) const
bool
等価演算子。
pack(MessageIterator &)
IntegritySpec を指定された MessageIterator にシリアル化します。

静的パブリック関数

parse(MessageIterator &, IntegritySpec &)
指定された MessageIterator から指定された IntegritySpec にオブジェクトをシリアル化解除します。

パブリック属性

type

uint8_t type

ハッシュのタイプ。IntegrityTypes から取得する値です。

uint8_t value[64]

URI フィールドで識別されるソフトウェア イメージの完全性値を含む、可変長のバイトのシーケンス。

完全性の値は、完全性タイプで指定された完全性関数を、上で指定された URI でアクセスされるソフトウェア アップデート イメージのコンテンツに適用することで計算されます。整合性の仕様により、クライアントはダウンロードした画像が、このレスポンスで指定された画像と一致することを確認できます。

パブリック関数

IntegritySpec

 IntegritySpec()

IntegritySpec のデフォルト コンストラクタ。

オブジェクトは、init() メソッドを使用するか、メッセージのシリアル化解除によって初期化する必要があります。

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

指定された値で IntegritySpec オブジェクトを明示的に初期化します。

詳細
パラメータ
[in] aType
IntegrityTypes から取得された完全性タイプの値
[in] aValue
パックされたバイト文字列として表される、適切な長さのハッシュ値
戻り値
WEAVE_NO_ERROR(成功時)
戻り値
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 指定された完全性タイプが IntegrityTypes の値のいずれでもない場合

演算子==

bool operator==(
  const IntegritySpec &
) const 

等価演算子。

詳細
パラメータ
another
この IntegritySpec に対してチェックする IntegritySpec
戻り値
両方のオブジェクトのすべてのフィールドが等しい場合は true、それ以外の場合は false

パック

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec を指定された MessageIterator にシリアル化します。

詳細
パラメータ
[in] i
パッキングされるメッセージのイテレータ
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_BUFFER_TOO_SMALL
IntegritySpec が大きすぎてメッセージに収まらない場合。

静的パブリック関数

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

指定された MessageIterator から指定された IntegritySpec にオブジェクトをシリアル化解除します。

詳細
パラメータ
[in] i
解析されるメッセージのイテレータ。
[in] aSpec
結果を格納するオブジェクトへの参照
戻り値
WEAVE_NO_ERROR
成功時。
戻り値
WEAVE_ERROR_BUFFER_TOO_SMALL
メッセージに完全性タイプと関連するハッシュに十分なバイト数が含まれていない場合
戻り値
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 指定された完全性タイプが IntegrityTypes の値のいずれでもない場合