nl:: Weave:: TLV
Definicje dotyczące pracy z danymi zakodowanymi w formacie TLV Weave.
Podsumowanie
Weave TLV to uogólniona metoda kodowania prostych danych strukturalnych. Ma wiele właściwości z często używanym formatem serializacji JSON, a jednocześnie jest znacznie bardziej zwarty w porównaniu z przewodem.
Wyliczenia |
|
---|---|
@71
|
enum | typ wyliczeniowy |
@73
|
enum | typ wyliczeniowy |
@74{
|
enum | typ wyliczeniowy |
@75
|
enum | typ wyliczeniowy |
TLVCommonProfiles{
|
enum | typ wyliczeniowy |
TLVElementType
|
enum | typ wyliczeniowy |
TLVFieldSize
|
enum | typ wyliczeniowy |
TLVTagControl
|
enum | typ wyliczeniowy |
TLVTagFields
|
enum | typ wyliczeniowy |
TLVType
|
enum | typ wyliczeniowy Wyliczenie określające typ elementu TLV. |
Zmienne |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Kopiuje element TLV z obiektu czytnika do zapisującego.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Funkcje |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Generuje w interfejsie API reprezentację wspólnego tagu TLV profilu.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Generuje w interfejsie API reprezentację tagu TLV zależnego od kontekstu.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Zwraca wartość „prawda”, jeśli podany tag jest tagiem zależnym od kontekstu.
|
IsProfileTag(uint64_t tag)
|
bool
Zwraca wartość prawda w przypadku podanego tagu, który jest tagiem właściwym dla profilu.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli podany typ TLV jest prawidłowy.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Zwraca identyfikator profilu z tagu TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Zwraca numer profilu z tagu TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Generuje w interfejsie API tag TLV właściwego dla profilu na podstawie identyfikatora profilu i numeru tagu.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Generuje w interfejsie API tag TLV właściwego dla profilu na podstawie identyfikatora dostawcy, numeru profilu i numeru tagu.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli określony typ TLV sugeruje obecność powiązanego pola długości.
|
TLVTypeHasValue(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli określony typ TLV sugeruje obecność powiązanego pola wartości.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli podany typ TLV jest kontenerem.
|
TLVTypeIsString(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli określony typ TLV jest ciągiem znaków UTF8 lub ciągiem bajtów.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Zwraca numer tagu z tagu TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Zwraca identyfikator dostawcy z tagu TLV.
|
Zajęcia |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Udostępnia działający w pamięci parser danych zakodowanych w formacie TLV Weave. |
nl:: |
Udostępnia ujednolicony interfejs czytnika/zapisu do edytowania, dodawania i usuwania elementów w kodowaniu TLV. |
nl:: |
Udostępnia mało pamięci kodera do zapisu danych w formacie Weave TLV. |
nl:: |
WeaveCircularTLVBuffer zapewnia okrągłą pamięć masową dla nl::Weave::TLV::TLVWriter i nl::Weave::TLVTLVReader. |
Przestrzenie nazw |
|
---|---|
nl:: |
Ta przestrzeń nazw zawiera typy i interfejsy debugowania i logowania Weave TLV. |
nl:: |
Ta przestrzeń nazw zawiera typy i interfejsy narzędziowe do zarządzania Weave TLV i zarządzania nimi. |
Wyliczenia
@71
@71
@73
@73
@74
@74
Właściwości | |
---|---|
AnonymousTag
|
Wartość oznaczająca element TLV, który nie ma tagu (np. anonimowo). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Właściwości | |
---|---|
kProfileIdNotSpecified
|
Służy do wskazywania braku identyfikatora profilu w zmiennej lub elemencie. Zasadniczo działa to tak samo jak parametr kWeaveProfile_NotOkreślified w zasadzie WeaveProfiles.h. |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Zmienne
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Kopiuje element TLV z obiektu czytnika do zapisującego.
Metoda CopyElement() koduje nowy element TLV, którego typ i wartość są pobierane z obiektu TLVReader. Gdy ta metoda jest wywoływana, podany obiekt czytnika powinien zostać umieszczony w źródłowym elemencie TLV. Nowo zakodowany element będzie miał ten sam typ i zawartość co kontener wejściowy, ale w tagu zostanie ustawiony określony argument. Jeśli dostarczony element jest kontenerem TLV (strukturą, tablicą lub ścieżką), skopiowana zostanie cała zawartość kontenera.
Szczegóły | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||
Zwracane wartości |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Funkcje
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Generuje w interfejsie API reprezentację wspólnego tagu TLV profilu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa liczba całkowita określająca tag.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Generuje w interfejsie API reprezentację tagu TLV zależnego od kontekstu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa liczba całkowita określająca tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Zwraca wartość „prawda”, jeśli podany tag jest tagiem zależnym od kontekstu.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Zwraca wartość prawda w przypadku podanego tagu, który jest tagiem właściwym dla profilu.
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 )
Generuje w interfejsie API tag TLV właściwego dla profilu na podstawie identyfikatora profilu i numeru tagu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
64-bitowa liczba całkowita określająca tag.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Generuje w interfejsie API tag TLV właściwego dla profilu na podstawie identyfikatora dostawcy, numeru profilu i numeru tagu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
64-bitowa liczba całkowita określająca tag.
|
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 )
Zwraca numer tagu z tagu TLV.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Numer powiązanego tagu.
|
IsProfileTag() i IsContextTag()