nl:: Weave:: TLV
Definicje związane z pracą z danymi kodowanymi w formacie TLV Weave.
Podsumowanie
Weave TLV to uogólniona metoda kodowania prostych uporządkowanych danych. Ma wiele właściwości z powszechnie używanym formatem serializacji JSON, a jednocześnie jest znacznie bardziej zwarty w połączeniu 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 zapisu.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Funkcje |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Generuje reprezentację interfejsu API wspólnego tagu TLV profilu.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Generuje reprezentację interfejsu API dla tagu TLV określonego w kontekście.
|
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” podanego tagu, czyli tagu specyficznego dla profilu.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Zwraca wartość „true” (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 reprezentację interfejsu API tagu 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 reprezentację interfejsu API tagu 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 podany typ TLV sugeruje obecność powiązanego pola długości.
|
TLVTypeHasValue(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli podany typ TLV sugeruje obecność powiązanego pola wartości.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Zwraca wartość „prawda”, jeśli podany typ ciągu TLV to kontener.
|
TLVTypeIsString(uint8_t type)
|
bool
Zwraca wartość „true” (prawda), jeśli podany typ TLV jest ciągiem znaków UTF8 lub bajtowym.
|
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:: |
Szybki parser zapewniający dużą ilość pamięci dla danych kodowanych w formacie TLV Weave. |
nl:: |
Zapewnia ujednolicony interfejs czytnika/zapisu do edycji, dodawania i usuwania elementów w kodowaniu TLV. |
nl:: |
energooszczędny koder do zapisywania danych w formacie Weave TLV. |
nl:: |
WeaveCircularTLVBuffer zapewnia pamięć masową dla znaczników nl::Weave::TLV::TLVWriter i nl::Weave::TLVTLVReader. |
Przestrzenie nazw |
|
---|---|
nl:: |
Ta przestrzeń nazw obejmuje typy i interfejsy do debugowania oraz logowania TLV Weave. |
nl:: |
Ta przestrzeń nazw obejmuje typy i interfejsy narzędziowe umożliwiające zarządzanie TLV Weave i pracę z nim. |
Wyliczenia
@71
@71
@73
@73
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Właściwości | |
---|---|
kProfileIdNotSpecified
|
Służą do sygnalizowania braku identyfikatora profilu w zmiennej lub członkostwie użytkownika. Zasadniczo jest to odpowiednik kWeaveProfile_NotSpecified zdefiniowanego w artykule WeaveProfiles.h (w języku angielskim). |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Zmienne
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Kopiuje element TLV z obiektu czytnika do zapisu.
Metoda CopyElement() koduje nowy element TLV, którego typ i wartość są pobierane z obiektu TLVReader. Po wywołaniu metody dostarczony obiekt odczytującego powinien zostać umieszczony w elemencie źródłowym TLV. Nowo zakodowany element będzie miał ten sam typ i zawartość co kontener wejściowy, ale tag zostanie ustawiony na określony argument. Jeśli podany element to kontener TLV (struktura, tablica lub ścieżka), zostanie skopiowana cała jego zawartość.
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 reprezentację interfejsu API 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 reprezentację interfejsu API dla tagu TLV określonego w kontekście.
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” podanego tagu, czyli tagu specyficznego 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 reprezentację interfejsu API tagu 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 reprezentację interfejsu API tagu 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 |
Powiązany numer tagu.
|
IsProfileTag() i IsContextTag()