nl:: 매트:: TLV
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
|
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::TLVViewer와 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
TV 태그 컨트롤
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 }
Functions
CommonTag
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 )
프로필 태그
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
프로필 ID 및 태그 번호에서 프로필별 TLV 태그의 API 표현을 생성합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
태그를 나타내는 64비트 정수입니다.
|
프로필 태그
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 )
기본 타겟 값
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()