nl::Weave::Profiles::SoftwareUpdate::UpdateSchemeList

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

更新スキームのリストを画像クエリの一部として保持する補助クラス。

まとめ

可能な更新スキームのサブセットを保持できるようにサイズ制限されたシンプルなラッパー。このタスクを実行するには、そのサイズが UpdateSchemes の要素数と同じになり、ImageQuery メッセージでサポートされている更新スキームのリストが生成されます。

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

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

パブリック属性

theLength
uint8_t
サポートされる要素リストの長さ。
theList[kUpdateScheme_Last]
uint8_t
サポートされている更新スキームを保持するコンテナ。

パブリック関数

init(uint8_t, uint8_t *)
サポートされている IntegrityType のリストを使用して、IntegrityTypeList を明示的に初期化します。
operator==(const UpdateSchemeList &) const
bool
等価演算子。
pack(MessageIterator &)
提供された MessageIterator にオブジェクトをシリアル化します。

静的パブリック関数

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

パブリック属性

長さ

uint8_t theLength

サポートされる要素リストの長さ。

長さが 0 は空のリストを示します

リスト

uint8_t theList[kUpdateScheme_Last]

サポートされている更新スキームを保持するコンテナ。

サイズは、UpdateSchemes 内の要素の数と同じになります。

パブリック関数

UpdateSchemeList(更新スキーム)

 UpdateSchemeList()

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

論理的に空のリストを作成します。リストは、init() メソッドを介して、またはメッセージからシリアル化解除することで作成できます。

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

サポートされている IntegrityType のリストを使用して、IntegrityTypeList を明示的に初期化します。

詳細
パラメータ
[in] aLength
リストの長さの 8 ビット値。UpdateSchemes の列挙型の数より小さくする必要があります。
[in] aList
UpdateSchemes 値の配列へのポインタ。aLength が 0 の場合にのみ NULL になります。
戻り値
WEAVE_NO_ERROR
成功
WEAVE_ERROR_INVALID_LIST_LENGTH
文字数が長すぎる場合

オペレーター==

bool operator==(
  const UpdateSchemeList &
) const 

等価演算子。

詳細
パラメータ
another
このリストにチェックするリスト
戻り値
リストが等しい場合は true、それ以外の場合は false。

パック

WEAVE_ERROR pack(
  MessageIterator &
)

提供された MessageIterator にオブジェクトをシリアル化します。

詳細
パラメータ
[in] i
パックされたメッセージのイテレータ
戻り値
WEAVE_NO_ERROR
成功
WEAVE_ERROR_BUFFER_TOO_SMALL
リストが長すぎてメッセージに収まらない場合

静的パブリック関数

parse

WEAVE_ERROR parse(
  MessageIterator &,
  UpdateSchemeList &
)

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

詳細
パラメータ
[in] i
解析されるメッセージのイテレータ。
[in] aList
結果を格納するオブジェクトへの参照
戻り値
WEAVE_NO_ERROR
成功
WEAVE_ERROR_BUFFER_TOO_SMALL
メッセージが短すぎました。
WEAVE_ERROR_INVALID_LIST_LENGTH
メッセージに無効なリストの長さが含まれていた場合(リストへの入力に十分なデータがないか、制限内に収まらないほど多い)