nl::Weave::Profil::ReferencedTLVData

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

Demikian pula, kita harus dapat mewakili blob lama data TLV.

Ringkasan

Warisan

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
Membebaskan objek ReferencedTLVData, yaitu menentukannya.
init(System::PacketBuffer *aBuffer)
Melakukan inisialisasi objek ReferencedTLVData berdasarkan PacketBuffer.
init(MessageIterator & i)
Melakukan inisialisasi objek ReferencedTLVData yang diberikan MessageIterator.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Melakukan inisialisasi referencedTLVObject berdasarkan string byte.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Melakukan inisialisasi objek ReferenceerddLVData berdasarkan fungsi callback.
isEmpty(void)
bool
Periksa apakah objek ReferencedTLVData memiliki sesuatu di dalamnya.
isFree(void)
bool
Periksa apakah objek ReferencedTLVData "free", yaitu
operator==(const ReferencedTLVData &) const
bool
Periksa objek ReferencedTLVData terhadap kesetaraan lainnya.
pack(System::PacketBuffer *buff)
Mengemas objek ReferencedTLVData langsung ke dalam PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Menampilkan 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

Callback TLVTulis

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

Atribut publik

Data

uint8_t * theData

panjang

uint16_t theLength

TheMaxLength

uint16_t theMaxLength

Fungsi publik

ReferensiTLVData

 ReferencedTLVData(
  void
)

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

Konstruktor no-arg untuk data TLV. Mengirimkan objek gratis/tidak diinisialisasi yang harus tunduk pada salah satu metode init() yang ditentukan di sini agar bermanfaat.

gratis

void free(
  void
)

Membebaskan objek ReferencedTLVData, yaitu menentukannya.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Melakukan inisialisasi objek ReferencedTLVData berdasarkan PacketBuffer.

Menginisialisasi objek ReferencedTLVData berdasarkan buffer penuh TLV. Hal ini mengasumsikan bahwa buffer HANYA berisi TLV.

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

init

WEAVE_ERROR init(
  MessageIterator & i
)

Melakukan inisialisasi objek ReferencedTLVData yang diberikan MessageIterator.

Melakukan inisialisasi objek ReferencedTLVData yang diberikan MessageIterator. Dalam hal ini, TLV adalah bagian terakhir buffer dan kita meneruskan iterator pesan yang mengarah ke buffer tersebut.

Detail
Parameter
[in] i
Iterator pesan yang mengarah ke TLV 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 berdasarkan string byte.

Inisialisasi objek ReferencedTLVData dengan string byte yang berisi TLV. Penginisialisasi ini adalah yang kami gunakan jika tidak ada PacketrBuffer karena kami membuat salah satunya untuk dikemas dan dikirim.

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

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Melakukan inisialisasi objek ReferenceerddLVData berdasarkan fungsi callback.

Lakukan inisialisasi objek ReferencedTLVData. Alih-alih menyediakan data secara eksplisit, versi ini menyediakan fungsi, callback penulisan, dan objek referensi, yang akan diteruskan ke dalamnya, bersama dengan 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 waktunya menulis TLV.
[in] anAppState
sebuah objek status aplikasi untuk diteruskan ke callback bersama penulis.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
WEAVE_ERROR_INVALID_ARGUMENT
Jika callback penulisan tidak diberikan.

Kosong

bool isEmpty(
  void
)

Periksa apakah objek ReferencedTLVData memiliki sesuatu di dalamnya.

Ada dua kemungkinan cara objek tersebut "memiliki" sesuatu. Sandi bisa memiliki panjang 0 ATAU tidak memiliki callback tulis.

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

Gratis

bool isFree(
  void
)

Periksa apakah objek ReferencedTLVData "free", yaitu

belum ditentukan.

Detail
Menampilkan
true jika objek tidak ditentukan, bernilai false jika tidak ditetapkan.

operator==

bool operator==(
  const ReferencedTLVData &
) const 

Periksa objek ReferencedTLVData terhadap kesetaraan lainnya.

Perlu diperhatikan bahwa ini hanya benar-benar masuk akal dalam kasus dua objek yang memiliki data aktual di dalamnya yang didukung oleh buffering atau string.

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

pak

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Mengemas objek ReferencedTLVData langsung ke dalam PacketBuffer.

Detail
Parameter
[in] buff
buffer untuk diisi.
Menampilkan
WEAVE_ERROR yang mencerminkan keberhasilan panggilan paket yang mendasarinya.

pak

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

PanjangPanjang

uint16_t packedLength(
  void
)

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

Detail
Menampilkan
panjang bilangan bulat dari data yang dikemas.

Fungsi statis publik

mengurai

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

Mengurai objek ReferencedTLVData dari PacketBuffer yang disediakan.

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

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

mengurai

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Mengurai 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 terutama hanya menyiapkan struktur ReferencedTLVData untuk digunakan nanti.

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