nl:: Menenun:: TLV
Definisi untuk bekerja dengan data yang dienkode dalam format TLV Weave.
Ringkasan
Weave TLV adalah metode encoding umum untuk data terstruktur sederhana. Kode ini berbagi banyak properti dengan format serialisasi JSON yang biasa digunakan, sekaligus menjadi jauh lebih ringkas.
Enumerasi |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Enumerasi yang mengidentifikasi jenis elemen TLV. |
Variabel |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Menyalin elemen TLV dari objek pembaca ke penulis.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Fungsi |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Menghasilkan representasi API dari tag TLV profil umum.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Menghasilkan representasi API untuk tag TLV spesifik konteks.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Menampilkan nilai benar jika tag yang diberikan adalah tag spesifik konteks.
|
IsProfileTag(uint64_t tag)
|
bool
Menampilkan true dari tag yang disediakan adalah tag khusus profil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Menampilkan true jika jenis TLV yang ditentukan valid.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Menampilkan ID profil dari tag TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Menampilkan nomor profil dari tag TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Menghasilkan representasi API dari tag TLV spesifik profil dari ID profil dan nomor tag.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Membuat representasi API dari tag TLV spesifik profil dari ID vendor, nomor profil, dan nomor tag.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Menampilkan true jika jenis TLV yang ditentukan menunjukkan adanya kolom panjang yang terkait.
|
TLVTypeHasValue(uint8_t type)
|
bool
Menampilkan true jika jenis TLV yang ditentukan menunjukkan adanya kolom nilai yang terkait.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Menampilkan true jika jenis TLV yang ditentukan adalah container.
|
TLVTypeIsString(uint8_t type)
|
bool
Menampilkan true jika jenis TLV yang ditentukan adalah string UTF8 atau byte.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Menampilkan nomor tag dari tag TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Menampilkan ID vendor dari tag TLV.
|
Class |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Menyediakan parser yang hemat memori untuk data yang dienkode dalam format TLV Weave. |
nl:: |
Menyediakan antarmuka Reader/Writer terpadu untuk mengedit/menambahkan/menghapus elemen dalam encoding TLV. |
nl:: |
Menyediakan encoder yang hemat memori untuk menulis data dalam format TLV Weave. |
nl:: |
WeaveCircularTLVBuffer menyediakan penyimpanan melingkar untuk nl::Weave::TLV::TLVWriter dan nl::Weave::TLVTLVReader. |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup jenis dan antarmuka untuk proses debug dan logging TLV Weave. |
nl:: |
Namespace ini mencakup jenis dan antarmuka utilitas untuk mengelola dan bekerja dengan Weave TLV. |
Enumerasi
@71
@71
@73
@73
@74
@74
Properti | |
---|---|
AnonymousTag
|
Nilai yang menandakan elemen TLV yang tidak memiliki tag (yaitu elemen anonim). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Properti | |
---|---|
kProfileIdNotSpecified
|
Digunakan untuk menunjukkan tidak adanya ID profil dalam variabel atau anggota. Pada dasarnya sama dengan kWeaveProfile_NotSpecified yang ditentukan dalam WeaveProfiles.h |
Jenis TLVElement
TLVElementType
UkuranBidang TLV
TLVFieldSize
KontrolTagTV
TLVTagControl
TLVTagFields
TLVTagFields
Variabel
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Menyalin elemen TLV dari objek pembaca ke penulis.
Metode CopyElement() mengenkode elemen TLV baru yang jenis dan nilainya diambil dari objek TLVReader. Saat metode dipanggil, objek pembaca yang disediakan diharapkan diposisikan pada elemen TLV sumber. Elemen yang baru dienkode akan memiliki jenis dan konten yang sama dengan penampung input, namun tag akan ditetapkan ke argumen yang ditentukan. Jika elemen yang disediakan adalah penampung TLV (struktur, array, atau jalur), seluruh konten penampung akan disalin.
Detail | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Nilai yang Ditampilkan |
|
UkuranTag
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Fungsi
Tag Umum
uint64_t CommonTag( uint32_t tagNum )
Menghasilkan representasi API dari tag TLV profil umum.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Bilangan bulat 64-bit yang mewakili tag.
|
TagKonteks
uint64_t ContextTag( uint8_t tagNum )
Menghasilkan representasi API untuk tag TLV spesifik konteks.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Bilangan bulat 64-bit yang mewakili tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Menampilkan nilai benar jika tag yang diberikan adalah tag spesifik konteks.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Menampilkan true dari tag yang disediakan adalah tag khusus profil.
IsisTag
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 )
TagProfil
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Menghasilkan representasi API dari tag TLV spesifik profil dari ID profil dan nomor tag.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Menampilkan |
Bilangan bulat 64-bit yang mewakili tag.
|
TagProfil
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Membuat representasi API dari tag TLV spesifik profil dari ID vendor, nomor profil, dan nomor tag.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Menampilkan |
Bilangan bulat 64-bit yang mewakili tag.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeMemiliki Panjang
bool TLVTypeHasLength( uint8_t type )
TLVTypeHashValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
Menampilkan nomor tag dari tag TLV.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Nomor tag terkait.
|
IsProfileTag() dan IsContextTag()