nl::Weave::Profiles::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

Demikian pula, kita harus dapat merepresentasikan blob data TLV lama yang besar.

Ringkasan

Inheritance

Mewarisi dari: nl::Weave::Profiles::RetainedPacketBuffer

Konstruktor dan Destruktor

ReferencedTLVData(void)
-------------- definisi untuk data TLV --------------

Jenis publik

TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState) typedef
void(*

Atribut publik

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Fungsi publik

free(void)
void
Bebaskan objek ReferencedTLVData, dengan kata lain, batalkan definisinya.
init(System::PacketBuffer *aBuffer)
Lakukan inisialisasi objek ReferencedTLVData dengan mempertimbangkan PacketBuffer.
init(MessageIterator & i)
Lakukan inisialisasi objek ReferencedTLVData dengan MessageIterator.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Melakukan inisialisasi ReferencedTLVObject dengan string byte.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Lakukan inisialisasi objek RefererencedTLVData dengan fungsi callback.
isEmpty(void)
bool
Periksa apakah objek ReferencedTLVData berisi apa pun.
isFree(void)
bool
Periksa apakah objek ReferencedTLVData "free" atau tidak, yaitu
operator==(const ReferencedTLVData &) const
bool
Periksa objek ReferencedTLVData dengan objek lain untuk mendapatkan kesetaraan.
pack(System::PacketBuffer *buff)
Kemas objek ReferencedTLVData langsung ke dalam PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Mengembalikan panjang data dengan asumsi bahwa objek telah dikemas ke dalam buffer.

Fungsi statis publik

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Uraikan objek ReferencedTLVData dari PacketBuffer yang disediakan.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Uraikan objek ReferencedTLVData dari MessageIterator yang disediakan.

Jenis publik

TLVWriteCallback

void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)

Atribut publik

theData

uint8_t * theData

theLength

uint16_t theLength

theMaxLength

uint16_t theMaxLength

Fungsi publik

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- definisi untuk data TLV --------------

Konstruktor no-arg untuk data TLV. Mengirimkan objek bebas/tidak diinisialisasi yang harus tunduk kepada salah satu metode init() yang ditentukan di sini agar dapat berguna.

gratis

void free(
  void
)

Bebaskan objek ReferencedTLVData, dengan kata lain, batalkan definisinya.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Lakukan inisialisasi objek ReferencedTLVData dengan mempertimbangkan PacketBuffer.

Lakukan inisialisasi objek ReferencedTLVData dengan buffer penuh TLV. Hal ini mengasumsikan bahwa buffer HANYA berisi TLV.

Detail
Parameter
[in] aBuffer
Buffer pesan tempat TLV berada.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Tanpa syarat

init

WEAVE_ERROR init(
  MessageIterator & i
)

Lakukan inisialisasi objek ReferencedTLVData dengan MessageIterator.

Lakukan inisialisasi objek ReferencedTLVData dengan MessageIterator. Dalam hal ini, TLV adalah bagian terakhir dari buffer dan kita teruskan iterator pesan yang mengarah ke buffer tersebut.

Detail
Parameter
[in] i
Iterator pesan yang mengarah ke TLV yang akan diekstrak.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Tanpa syarat

init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

Melakukan inisialisasi ReferencedTLVObject dengan string byte.

Lakukan inisialisasi objek ReferencedTLVData dengan string byte yang berisi TLV. Penginisialisasi ini adalah yang kita gunakan jika tidak ada PacketrBuffer karena kita membuat satu paket ini untuk dikemas dan dikirim.

Detail
Parameter
[in] aLength
Panjang untuk data TLV
[in] aMaxLength
Panjang total buffer
[in] aByteString
Pointer ke data {i>string<i}
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Tanpa syarat

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Lakukan inisialisasi objek RefererencedTLVData dengan fungsi callback.

Lakukan inisialisasi objek ReferencedTLVData. Alih-alih menyediakan data secara eksplisit, versi ini menyediakan fungsi, callback tulis, dan objek referensi, yang akan diteruskan ke sana, bersama objek TLVWriter, saat data yang direferensikan seharusnya dikemas dan dikirim. Tanda tangan callback tersebut adalah:

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

Detail
Parameter
[in] aWriteCallback
fungsi yang akan dipanggil saat tiba waktunya menulis beberapa TLV.
[in] anAppState
objek status aplikasi yang akan diteruskan ke callback bersama penulis.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INVALID_ARGUMENT
Jika callback tulis tidak disediakan.

kosong

bool isEmpty(
  void
)

Periksa apakah objek ReferencedTLVData berisi apa pun.

Ada dua cara yang dapat dilakukan objek semacam itu untuk "memiliki" sesuatu. Class dapat memiliki panjang 0 ATAU tidak dapat memiliki callback tulis.

Detail
Hasil
true jika set data memiliki panjang 0 atau tidak ada callback tulis di tangan, false jika tidak.

isFree

bool isFree(
  void
)

Periksa apakah objek ReferencedTLVData "free" atau tidak, yaitu

tidak terdefinisi.

Detail
Hasil
true jika objek tidak terdefinisi, false jika tidak.

operator==

bool operator==(
  const ReferencedTLVData &
) const 

Periksa objek ReferencedTLVData dengan objek lain untuk mendapatkan kesetaraan.

Perhatikan bahwa ini hanya masuk akal jika dua objek memiliki data aktual di dalamnya yang didukung oleh buffer atau string.

Detail
Parameter
[in] Another
objek untuk diperiksa
Nilai yang Ditampilkan
true
Objek tersebut sama.
false
String objek tidak sama.

pak

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Kemas objek ReferencedTLVData langsung ke dalam PacketBuffer.

Detail
Parameter
[in] buff
{i>buffer<i} yang akan diisi.
Hasil
WEAVE_ERROR yang mencerminkan keberhasilan panggilan paket yang mendasarinya.

pak

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

Mengembalikan panjang data dengan asumsi bahwa objek telah dikemas ke dalam buffer.

Detail
Hasil
panjang bilangan bulat dari data yang dikemas.

Fungsi statis publik

parse

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

Uraikan objek ReferencedTLVData dari PacketBuffer yang disediakan.

Uraikan objek ReferencedTLVData dari buffer inet (dengan asumsi objek tersebut hanya berisi TLV).

Detail
Parameter
[in] buff
buffer untuk dibaca.
[out] aTarget
objek ReferencedTLVData ke "fill" dengan hasilnya.
Hasil
WEAVE_ERROR yang mencerminkan keberhasilan panggilan penguraian yang mendasarinya.

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Uraikan objek ReferencedTLVData dari MessageIterator yang disediakan.

Mengurai objek ReferenceTLVData dari objek MessageIterator yang diasumsikan mengarah ke bagian TLV pesan.

Perhatikan bahwa tidak ada "penguraian" yang sebenarnya dilakukan di sini karena TLV dibiarkan dalam buffer dan tidak dimanipulasi sama sekali. Metode ini utamanya hanya menyiapkan struktur ReferencedTLVData untuk digunakan nanti.

Detail
Parameter
[in] i
Iterator atas pesan yang sedang diuraikan.
[out] aTarget
Tempat untuk menempatkan hasil penguraian.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Tanpa syarat