nl:: Weave:: 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
|
함수 |
|
---|---|
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 인코딩에서 요소를 수정/추가/삭제하기 위한 통합된 Reader/Writer 인터페이스를 제공합니다. |
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()