nl:: Weave:: TLV
Weave TLV 形式でエンコードされたデータの処理に関する定義です。
まとめ
Weave TLV は、シンプルな構造化データ用の汎用エンコード方法です。一般的に使用される JSON シリアル化形式と多くのプロパティを共有しつつ、ネットワーク上で比較的コンパクトです。
列挙型 |
|
---|---|
@71
|
列挙型 |
@73
|
列挙型 |
@74{
|
列挙型 |
@75
|
列挙型 |
TLVCommonProfiles{
|
列挙型 |
TLVElementType
|
列挙型 |
TLVFieldSize
|
列挙型 |
TLVTagControl
|
列挙型 |
TLVTagFields
|
列挙型 |
TLVType
|
列挙型 TLV 要素のタイプを識別する列挙型です。 |
Variables |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
TLV 要素をリーダー オブジェクトからライターにコピーします。
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Functions |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
共通プロファイルの TLV タグの API 表現を生成します。
|
ContextTag(uint8_t tagNum)
|
uint64_t
コンテキスト固有の TLV タグの API 表現を生成します。
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
指定されたタグがコンテキスト固有のタグである場合、true を返します。
|
IsProfileTag(uint64_t tag)
|
bool
指定されたタグがプロファイル固有のタグである場合に true を返します。
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
指定された TLV タイプが有効な場合、true を返します。
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
TLV タグからプロフィール ID を返します。
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
TLV タグからプロフィール番号を返します。
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
プロファイル ID とタグ番号からプロファイル固有の TLV タグの API 表現を生成します。
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
ベンダー ID、プロファイル番号、タグ番号からプロファイル固有の TLV タグの API 表現を生成します。
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
指定された TLV 型が関連する長さフィールドの存在を暗示する場合、true を返します。
|
TLVTypeHasValue(uint8_t type)
|
bool
指定した TLV 型が関連する値フィールドが存在する場合、true を返します。
|
TLVTypeIsContainer(uint8_t type)
|
bool
指定された TLV タイプがコンテナの場合は true を返します。
|
TLVTypeIsString(uint8_t type)
|
bool
指定された TLV 型が UTF8 またはバイト文字列である場合、true を返します。
|
TagNumFromTag(uint64_t tag)
|
uint32_t
TLV タグからタグ番号を返します。
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
TLV タグからベンダー ID を返します。
|
クラス |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV 形式でエンコードされたデータのメモリ効率の高いパーサーを提供します。 |
nl:: |
TLV エンコードの要素を編集、追加、削除するための、統合された読み取り / 書き込みインターフェースを提供します。 |
nl:: |
Weave TLV 形式でデータを書き込むメモリ効率の良いエンコーダを提供します。 |
nl:: |
WeaveCircularTLVBuffer は、nl::Weave::TLV::TLVWriter と nl::Weave::TLVTLVReader に円形ストレージを提供します。 |
Namespace |
|
---|---|
nl:: |
この名前空間には、Weave TLV のデバッグとロギングを行うためのタイプとインターフェースが含まれています。 |
nl:: |
この名前空間には、Weave TLV の管理と操作を行うためのタイプとユーティリティ インターフェースが含まれています。 |
列挙型
71
@71
73
@73
75
@75
TLVCommonProfiles(TLV 共通プロファイル)
TLVCommonProfiles
Properties | |
---|---|
kProfileIdNotSpecified
|
変数またはメンバー内にプロファイル ID が存在しないことを示すために使用されます。 これは、WeaveProfiles.h で定義されている kWeaveProfile_NotSpecified と基本的に同じです。 |
TLVElementType(TLV 要素の種類)
TLVElementType
TLVField サイズ
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variables
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
TLV 要素をリーダー オブジェクトからライターにコピーします。
CopyElement() メソッドでは、新しい TLV 要素がエンコードされ、その型と値は TLVReader オブジェクトから取得されます。このメソッドが呼び出されると、指定したリーダー オブジェクトがソースの TLV 要素に配置されます。新たにエンコードされた要素は、入力コンテナと同じタイプとコンテンツになりますが、タグは指定した引数に設定されます。指定した要素が TLV コンテナ(構造体、配列、パス)の場合、コンテナの内容全体がコピーされます。
詳細 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||||||
戻り値 |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Functions
共通タグ
uint64_t CommonTag( uint32_t tagNum )
共通プロファイルの TLV タグの API 表現を生成します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
タグを表す 64 ビット整数。
|
コンテキストタグ
uint64_t ContextTag( uint8_t tagNum )
GetTLVFieldSize をご覧ください。
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
指定されたタグがコンテキスト固有のタグである場合、true を返します。
IsProfileTag
bool IsProfileTag( uint64_t tag )
指定されたタグがプロファイル固有のタグである場合に true を返します。
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType:
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
プロファイル ID とタグ番号からプロファイル固有の TLV タグの API 表現を生成します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
タグを表す 64 ビット整数。
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
ベンダー ID、プロファイル番号、タグ番号からプロファイル固有の TLV タグの API 表現を生成します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
タグを表す 64 ビット整数。
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString(TLVTypeIsString)
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
TLV タグからタグ番号を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
関連付けられているタグ番号。
|
IsProfileTag()、IsContextTag()