nl::
  Weave TLV 形式でエンコードされたデータを操作するための定義
概要
Weave の TLV は、単純な構造化データ用の一般化されたエンコード方式です。一般的に使用されている JSON シリアル化形式と多くのプロパティが共通していますが、転送速度はかなりコンパクトです。
| 列挙型 | |
|---|---|
| @71 | enum | 
| @73 | enum | 
| @74{ | enum | 
| @75 | enum | 
| TLVCommonProfiles{ | enum | 
| TLVElementType | enum | 
| TLVFieldSize | enum | 
| TLVTagControl | enum | 
| TLVTagFields | enum | 
| TLVType | enum TLV 要素の型を識別する列挙型。 | 
| 変数 | |
|---|---|
| kWeaveTLVCopyChunkSize = 16 | const size_tリーダー オブジェクトからライターに TLV 要素をコピーします。 | 
| sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[] | const uint8_t | 
| 関数 | |
|---|---|
| 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_tTLV タグからプロファイル ID を返します。 | 
| ProfileNumFromTag(uint64_t tag) | uint16_tTLV タグからプロファイル番号を返します。 | 
| 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_tTLV タグからタグ番号を返します。 | 
| VendorIdFromTag(uint64_t tag) | uint16_tTLV タグからベンダー ID を返します。 | 
| クラス | |
|---|---|
| nl:: | |
| nl:: | |
| nl:: | Weave TLV 形式でエンコードされたデータ用のメモリ効率の高いパーサーを提供します。 | 
| nl:: | TLV エンコードの要素を編集、追加、削除するための統合されたリーダー / ライター インターフェースを提供します。 | 
| nl:: | Weave TLV 形式でデータを書き込むためのメモリ効率の高いエンコーダを提供します。 | 
| nl:: | WeaveCircularTLVBuffer は、nl::Weave::TLV::TLVWriter と nl::Weave::TLVTLVReader に循環型ストレージを提供します。 | 
| 名前空間 | |
|---|---|
| nl:: | この名前空間には、Weave TLV のデバッグとロギングのためのタイプとインターフェースが含まれています。 | 
| nl:: | この名前空間には、Weave TLV の管理と操作のためのタイプとユーティリティ インターフェースが含まれています。 | 
列挙型
@71
@71
@73
@73
@75
@75
TLVCommonProfiles
TLVCommonProfiles
| プロパティ | |
|---|---|
| kProfileIdNotSpecified | 変数またはメンバーにプロファイル ID が存在しないことを示すために使用されます。 これは基本的に、WeaveProfiles.h で定義されている kWeaveProfile_NotSpecified と同じです | 
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
変数
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
リーダー オブジェクトからライターに TLV 要素をコピーします。
CopyElement() メソッドは、型と値が TLVReader オブジェクトから取得された新しい TLV 要素をエンコードします。このメソッドが呼び出されると、指定されたリーダー オブジェクトがソースの TLV 要素上に配置されることが期待されます。新たにエンコードされた要素の型と内容は入力コンテナと同じになりますが、タグは指定された引数に設定されます。指定された要素が TLV コンテナ(構造、配列、パス)の場合、コンテナのコンテンツ全体がコピーされます。
| 詳細 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| パラメータ | 
 | ||||||||||||||||||
| 戻り値 | 
 | ||||||||||||||||||
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
関数
CommonTag
uint64_t CommonTag( uint32_t tagNum )
共通のプロファイル TLV タグの API 表現を生成します。
| 詳細 | |||
|---|---|---|---|
| パラメータ | 
 | ||
| 戻り値 | タグを表す 64 ビットの整数。 | ||
ContextTag
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
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
TLV タグからタグ番号を返します。
| 詳細 | |||
|---|---|---|---|
| パラメータ | 
 | ||
| 戻り値 | 関連付けられているタグ番号。 | ||
IsProfileTag()、IsContextTag()