nl::Weave::Profiles::ReferencedTLVData

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

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

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, atau batalkan penetapannya.
init(System::PacketBuffer *aBuffer)
Lakukan inisialisasi objek ReferencedTLVData dengan 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)
Melakukan inisialisasi objek RefererencedTLVData dengan fungsi callback.
isEmpty(void)
bool
Periksa apakah objek ReferencedTLVData berisi sesuatu di dalamnya.
isFree(void)
bool
Periksa apakah objek ReferencedTLVData adalah "free", yaitu
operator==(const ReferencedTLVData &) const
bool
Periksa objek ReferencedTLVData terhadap objek lain untuk mengetahui kesetaraannya.
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)
Mengurai objek ReferencedTLVData dari PacketBuffer yang disediakan.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Mengurai 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 pada salah satu metode init() yang ditentukan di sini agar dapat digunakan.

gratis

void free(
  void
)

Bebaskan objek ReferencedTLVData, atau batalkan penetapannya.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Lakukan inisialisasi objek ReferencedTLVData dengan PacketBuffer.

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

Detail
Parameter
[in] aBuffer
Buffer pesan tempat TLV berada.
Nilai Pengembalian
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 meneruskan iterator pesan yang mengarah ke buffer tersebut.

Detail
Parameter
[in] i
Iterator pesan yang mengarah ke TLV yang akan diekstrak.
Nilai Pengembalian
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 salah satunya untuk mengemas dan mengirim.

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

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Melakukan inisialisasi objek RefererencedTLVData dengan fungsi callback.

Lakukan inisialisasi objek ReferencedTLVData. Sebagai ganti menyediakan data secara eksplisit, versi ini menyediakan fungsi, callback tulis, dan objek referensi, yang akan diteruskan ke sana, bersama dengan objek TLVWriter, jika 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 untuk menulis beberapa TLV.
[in] anAppState
objek status aplikasi yang akan diteruskan ke callback bersama penulis.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INVALID_ARGUMENT
Jika callback tulis tidak diberikan.

isEmpty

bool isEmpty(
  void
)

Periksa apakah objek ReferencedTLVData berisi sesuatu di dalamnya.

Objek dapat "memiliki" sesuatu dengan dua cara. Entah itu bisa memiliki panjang 0 ATAU tidak bisa 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 adalah "free", yaitu

tidak ditentukan.

Detail
Hasil
true jika objek tidak ditentukan, false jika sebaliknya.

operator==

bool operator==(
  const ReferencedTLVData &
) const 

Periksa objek ReferencedTLVData terhadap objek lain untuk mengetahui kesetaraannya.

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 Pengembalian
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} untuk mengisinya.
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 integer dari data yang dikemas.

Fungsi statis publik

parse

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

Mengurai objek ReferencedTLVData dari PacketBuffer yang disediakan.

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

Detail
Parameter
[in] buff
dari {i>buffer<i} untuk membaca.
[out] aTarget
objek ReferencedTLVData untuk "mengisi" dengan hasil.
Hasil
WEAVE_ERROR yang mencerminkan keberhasilan panggilan penguraian yang mendasarinya.

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Mengurai objek ReferencedTLVData dari MessageIterator yang disediakan.

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

Perlu diperhatikan bahwa tidak ada "penguraian" aktual yang dilakukan di sini karena TLV dibiarkan di buffer dan tidak dimanipulasi sama sekali. Metode ini terutama hanya menyiapkan struktur ReferencedTLVData untuk digunakan nanti.

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