nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Ringkasan
Inheritance
Mewarisi dari:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Konstruktor dan Destruktor |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Fungsi publik |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
Dengan mempertimbangkan handle jalur ke node, penulis TLV, dan boolean yang menunjukkan apakah nilainya null atau tidak ada, dapatkan data dari sumber trait yang akan membuat notifikasi.
|
GetSubscriptionClient() __OVERRIDE
|
virtual SubscriptionClient *
|
GetUpdateEncoder() __OVERRIDE
|
virtual UpdateEncoder *
|
IsUpdatableDataSink(void) __OVERRIDE
|
virtual bool
|
Lock(SubscriptionClient *apSubClient)
|
void
|
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
|
|
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
|
Mendeklarasikan bahwa PropertyPathHandle yang diberikan memiliki modifikasi lokal.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Fungsi publik
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
Dengan mempertimbangkan handle jalur ke node, penulis TLV, dan boolean yang menunjukkan apakah nilainya null atau tidak ada, dapatkan data dari sumber trait yang akan membuat notifikasi.
Jika handle jalur bukan node daun, TDM akan menangani penulisan nilai ke penulis (seperti membuka container, membatalkan struct, dll.). Jika node non-leaf bernilai null atau tidak ada, TDM tidak akan memanggil GetData untuk turunannya.
Fungsi ini hanya akan dipanggil untuk handle yang bersifat nullable, opsional, ephemeral, atau leaf. Ekspektasinya adalah bahwa setiap karakteristik dengan handle yang mengaktifkan opsi tersebut akan mengimplementasikan logika yang sesuai untuk mengisi aIsNull dan aIsPresent.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Nilai Pengembalian |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Kunci
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
Mendeklarasikan bahwa PropertyPathHandle yang diberikan memiliki modifikasi lokal.
NotificationEngine tidak akan mengganti handle dan turunannya hingga permintaan update diproses. Aplikasi akan menerima callback kEvent_OnUpdateComplete untuk handle ini atau untuk salah satu ancestornya dengan hasil operasi update. Perubahan dapat bersifat bersyarat atau tidak. Pembaruan data bersyarat akan hilang jika salinan lokal instance karakteristik tidak lagi sinkron dengan penayang karena telah dimutasi oleh penayang itu sendiri atau klien lain. Mutasi bersyarat dan tidak bersyarat tidak didukung secara bersamaan dalam instance karakteristik yang sama.
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Nilai Pengembalian |
|