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 di MessageDef.cpp yang bertujuan untuk 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 dicek.
StartDataList(void)
Memulai pembuatan array daftar data.
StartEventList()
Memulai pembuatan daftar peristiwa.
StartNotifyRequest()
Memulai pembuatan notifikasi.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Berdasarkan jalur karakteristik, tulis 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 untuk memeriksa status penulis TLV.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.

EndDataList

WEAVE_ERROR EndDataList()

Mengakhiri pembuatan array daftar data.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung DataList.
other
Tidak dapat membuat akhir daftar data.

EndEventList

WEAVE_ERROR EndEventList()

Mengakhiri pembuatan daftar peristiwa.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung EventList.
other
Tidak dapat membuat akhir daftar data.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Mengakhiri pembuatan notifikasi.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat menentukan akhir pemberitahuan.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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

Melakukan inisialisasi builder.

Hanya boleh dipanggil sekali.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
other
Tidak dapat melakukan inisialisasi builder.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Fungsi transisi status utama.

Fungsi ini mengambil status yang diinginkan (yaitu, fase dari builder permintaan memberi tahu 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 akan dialokasikan (jika diperlukan); fungsi pertama-tama akan mentransisi permintaan ke permintaan notifikasi tingkat teratas (membuka struktur TLV permintaan notifikasi, atau menutup penampung data TLV saat ini sesuai kebutuhan), lalu mentransisikan permintaan Notifikasi dengan membuka penampung data TLV yang sesuai atau dengan menutup permintaan Beri Tahu secara keseluruhan.

Detail
Parameter
aDesiredState
Kondisi yang diinginkan sebagai tujuan transisi permintaan
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NO_MEMORY
Tidak dapat beralih ke status karena memori tidak cukup.
WEAVE_ERROR_INCORRECT_STATE
Kerusakan mesin status internal.
other
Jika mesin status tidak dapat merekam status dalam buffer-nya, hal ini kemungkinan menunjukkan cacat desain, bukan masalah runtime.

Rollback

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Rollback status permintaan ke TLVWriter yang dicek.

Detail
Parameter
[in] aPoint
Seorang penulis yang merekam status pada waktu tertentu di masa lalu
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Memulai pembuatan array daftar data.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat membuat bagian awal daftar data.

StartEventList

WEAVE_ERROR StartEventList()

Memulai pembuatan daftar peristiwa.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak ada di penampung Beri tahu.
other
Tidak dapat membuat bagian awal daftar data.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Memulai pembuatan notifikasi.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_INCORRECT_STATE
Jika permintaan tidak berada di level teratas buffer.
other
Tidak dapat menentukan akhir pemberitahuan.

WriteDataElement

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

Berdasarkan jalur karakteristik, tulis elemen data yang terkait dengan jalur tersebut.

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

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
other
Tidak dapat mengambil dan menulis elemen data.