nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

Ini menyediakan class bantuan untuk menulis notifikasi dan memisahkan konstruksi dan struktur pesan dari konsumennya.

Ringkasan

Ini adalah versi yang lebih ringkas dari class serupa yang disediakan dalam MessageDef.cpp yang bertujuan sensitif terhadap kebutuhan flash dan ram perangkat.

Fungsi publik

Checkpoint(TLV::TLVWriter & aPoint)
Checkpoint status permintaan ke TLVWriter.
EndDataList()
Mengakhiri pembuatan array daftar data.
EndEventList()
Mengakhiri pembuatan daftar peristiwa.
EndNotifyRequest()
Mengakhiri pembuatan notifikasi.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Melakukan inisialisasi builder.
MoveToState(NotifyRequestBuilderState aDesiredState)
Fungsi transisi status utama.
Rollback(TLV::TLVWriter & aPoint)
Rollback status permintaan ke TLVWriter yang memiliki checkpoint.
StartDataList(void)
Memulai konstruksi array daftar data.
StartEventList()
Memulai pembuatan daftar peristiwa.
StartNotifyRequest()
Mulai pembuatan notifikasi.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Dengan mempertimbangkan jalur sifat, tuliskan elemen data yang terkait dengan jalur tersebut.

Fungsi publik

Checkpoint

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Checkpoint status permintaan ke TLVWriter.

Detail
Parameter
[out] aPoint
Penulis yang menjadi tujuan checkpoint status penulis TLV.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.

EndDataList

WEAVE_ERROR EndDataList()

Mengakhiri pembuatan array daftar data.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung DataList.
other
Tidak dapat membuat bagian akhir daftar data.

EndEventList

WEAVE_ERROR EndEventList()

Mengakhiri pembuatan daftar peristiwa.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung EventList.
other
Tidak dapat membuat bagian akhir daftar data.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Mengakhiri pembuatan notifikasi.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat menyusun akhir notifikasi.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Inisiasi

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

Melakukan inisialisasi builder.

Seharusnya hanya dipanggil sekali.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
other
Tidak dapat menginisialisasi builder.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Fungsi transisi status utama.

Fungsi ini mengambil status yang diinginkan (yaitu, fase builder permintaan notifikasi yang ingin kita capai), dan mentransisikan permintaan ke status tersebut. Jika status yang diinginkan sama dengan status saat ini, fungsi tidak akan melakukan apa pun. Jika tidak, PacketBuffer dialokasikan (jika diperlukan); fungsi terlebih dahulu mentransisikan permintaan ke permintaan notifikasi tingkat atas (baik membuka struktur TLV permintaan notifikasi, atau menutup container data TLV saat ini sesuai kebutuhan), lalu mentransisikan permintaan Notifikasi baik dengan membuka container data TLV yang sesuai atau dengan menutup permintaan Notifikasi secara keseluruhan.

Detail
Parameter
aDesiredState
Status yang diinginkan yang menjadi tujuan transisi permintaan
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_NO_MEMORY
Tidak dapat beralih ke status karena memori tidak cukup.
WEAVE_ERROR_INCORRECT_STATE
Kerusakan state machine internal.
other
Jika mesin status tidak dapat merekam status dalam bufferingnya, kemungkinan besar menunjukkan cacat desain, bukan masalah runtime.

Rollback

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Rollback status permintaan ke TLVWriter yang memiliki checkpoint.

Detail
Parameter
[in] aPoint
Penulis yang menangkap kondisi tersebut pada masa lalu
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Memulai konstruksi array daftar data.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat membuat awal daftar data.

StartEventList

WEAVE_ERROR StartEventList()

Memulai pembuatan daftar peristiwa.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat membuat awal daftar data.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Mulai pembuatan notifikasi.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak berada di level teratas buffer.
other
Tidak dapat menyusun akhir notifikasi.

WriteDataElement

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

Dengan mempertimbangkan jalur sifat, tuliskan elemen data yang terkait dengan jalur tersebut.

Pemanggil juga dapat meneruskan set handle yang memungkinkan pemanfaatan operasi penggabungan dengan set node turunan langsung yang lebih sempit dari handle jalur properti induk.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
other
Tidak dapat mengambil dan menulis elemen data.