nl:: Weave:: TLV
Definisi untuk bekerja dengan data yang dienkode dalam format TLV Weave.
Ringkasan
Weave TLV adalah metode encoding umum untuk data terstruktur sederhana. Format ini memiliki banyak properti dengan format serialisasi JSON yang umum digunakan dan 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 khusus konteks.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Menampilkan true (benar) jika tag yang disediakan adalah tag khusus konteks.
|
IsProfileTag(uint64_t tag)
|
bool
Menampilkan true dari tag yang diberikan adalah tag spesifik per profil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Menampilkan true (benar) 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 khusus profil dari ID profil dan nomor tag.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Menghasilkan representasi API dari tag TLV khusus profil dari ID vendor, nomor profil, dan nomor tag.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Menampilkan true (benar) jika jenis TLV yang ditentukan menyiratkan adanya kolom panjang terkait.
|
TLVTypeHasValue(uint8_t type)
|
bool
Menampilkan true (benar) jika jenis TLV yang ditentukan menyiratkan adanya kolom nilai terkait.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Menampilkan true (benar) jika jenis TLV yang ditentukan adalah container.
|
TLVTypeIsString(uint8_t type)
|
bool
Menampilkan true (benar) 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 Pembaca/Penulis 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 sirkular untuk nl::Weave::TLV::TLVWriter dan nl::Weave::TLVTLVReader. |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup jenis dan antarmuka untuk proses debug dan logging Weave TLV. |
nl:: |
Namespace ini mencakup jenis dan antarmuka utilitas untuk mengelola dan menggunakan TLV Weave. |
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. Ini pada dasarnya sama dengan kWeaveProfile_NotSpecified yang ditentukan di WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
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 ini 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, tetapi tag akan ditetapkan ke argumen yang ditentukan. Jika elemen yang disediakan adalah container TLV (struktur, array, atau jalur), seluruh konten container akan disalin.
Detail | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Nilai yang Ditampilkan |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Fungsi
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Menghasilkan representasi API dari tag TLV profil umum.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Bilangan bulat 64-bit yang mewakili tag.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Menghasilkan representasi API untuk tag TLV khusus konteks.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Bilangan bulat 64-bit yang mewakili tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Menampilkan true (benar) jika tag yang disediakan adalah tag khusus konteks.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Menampilkan true dari tag yang diberikan adalah tag spesifik per profil.
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 )
Menghasilkan representasi API dari tag TLV khusus profil dari ID profil dan nomor tag.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
Bilangan bulat 64-bit yang mewakili tag.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Menghasilkan representasi API dari tag TLV khusus profil dari ID vendor, nomor profil, dan nomor tag.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
Bilangan bulat 64-bit yang mewakili 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 )
Menampilkan nomor tag dari tag TLV.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Nomor tag terkait.
|
IsProfileTag() dan IsContextTag()