nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Class dasar abstrak untuk klien WDM khusus aplikasi.
Ringkasan
DMClient adalah klien WDM standar. Implementasi secara opsional menyertakan langganan/notifikasi. Ini adalah campuran dari class ProtocolEngine DM yang menangani komunikasi dan class ClientDataManager yang sepenuhnya abstrak, dengan beberapa metode terkait langganan yang diimplementasikan sehingga lapisan yang lebih tinggi tidak perlu mengkhawatirkannya.
Pengendali untuk tugas terkait langganan terutama bertindak sebagai adaptor tipis di atas objek ClientNotifier. Pelaksana subclass harus berhati-hati dalam memanggil metode super-class yang relevan untuk menjalankan fungsi pengelola langganan.
Metode permintaan DMClient umumnya memiliki 2 tanda tangan, satu dengan ID node tujuan eksplisit dan yang lainnya dengan tujuan yang ditentukan. Dalam kedua kasus tersebut, kemampuan untuk mengirim pesan ke penayang bergantung pada binding yang sudah ada sebelumnya di klien, tetapi dalam kasus pertama, ID tujuan ditujukan untuk memilih di antara beberapa tujuan yang terikat dan, dalam kasus kedua, item pertama dalam tabel binding dipilih sebagai default. Hal ini berguna, misalnya, jika klien hanya akan terikat dengan satu penayang.
Inheritance
Mewarisi dari:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Konstruktor dan Destruktor |
|
---|---|
DMClient(void)
Konstruktor default untuk objek DMClient.
|
|
~DMClient(void)
Destruktor untuk objek DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Minta tampilan data yang dipublikasikan.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Minta tampilan data di penayang default.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Meminta pembaruan data yang dipublikasikan.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Minta pembaruan data di penayang default.
|
Atribut yang dilindungi |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Fungsi publik |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Meminta agar transaksi yang dieksekusi dibatalkan.
|
Clear(void)
|
virtual void
Menghapus status internal yang terkait dengan objek DMClient.
|
Finalize(void)
|
virtual void
Mematikan DMClient yang sedang beroperasi.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Menangani "ketidaklengkapan" binding yang digunakan oleh klien.
|
Fungsi yang dilindungi |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Minta tampilan data yang dipublikasikan.
Meminta tampilan data yang berada di dan dikelola oleh penayang jarak jauh yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai Pengembalian |
|
||||||||
Hasil |
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk melakukan inisialisasi atau memulai transaksi.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Minta tampilan data di penayang default.
Minta tampilan data yang ada di dan dikelola oleh penayang "default", yaitu penayang pertama (atau satu-satunya) di tabel binding klien.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
||||||
Hasil |
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk melakukan inisialisasi atau memulai transaksi.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Meminta pembaruan data yang dipublikasikan.
Meminta penayang jarak jauh memperbarui data yang dikelola.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Hasil |
WEAVE_NO_ERROR jika berhasil atau WEAVE_ERROR_NO_MEMORY jika transaksi update tidak dapat dialokasikan. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan update.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Minta pembaruan data di penayang default.
Meminta penayang jarak jauh memperbarui data yang dikelola. Versi ini mengarahkan permintaan ke penayang yang merupakan target binding default klien.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
WEAVE_NO_ERROR jika berhasil atau WEAVE_ERROR_NO_MEMORY jika transaksi update tidak dapat dialokasikan. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan update.
|
Atribut yang dilindungi
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Fungsi publik
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Meminta agar transaksi yang dieksekusi dibatalkan.
Metode ini tidak menghasilkan traffic jaringan, tetapi hanya melepaskan resource yang dialokasikan untuk transaksi yang ditentukan
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
WEAVE_NO_ERROR saat berhasil atau WEAVE_ERROR yang menunjukkan kegagalan pembatalan transaksi.
|
Hapus
virtual void Clear( void )
Menghapus status internal yang terkait dengan objek DMClient.
Secara khusus, metode ini menghapus semua kumpulan transaksi klien. Untuk klien yang telah menggunakan metode Finalize() lebih disukai karena metode ini juga membatalkan langganan serta membersihkan tabel transaksi dan binding.
Lihat juga:Finalize()
DMClient
DMClient( void )
Finalisasi
virtual void Finalize( void )
Mematikan DMClient yang sedang beroperasi.
Menghapus semua status pengoperasian yang terkait dengan klien dan menghapus semua langganan terkait dari pemberi notifikasi. Setelah panggilan ke Finalize(), DMClient dapat diinisialisasi ulang hanya dengan memanggil Init(). Finalize() dipanggil oleh destruktor DMClient, tetapi dapat dipanggil jika DMClient memerlukan pembersihan, misalnya jika terjadi kegagalan atau penonaktifan sementara, tetapi mungkin perlu dibuat ulang di lain waktu.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Menangani "ketidaklengkapan" binding yang digunakan oleh klien.
Jika binding gagal secara tidak terduga, misalnya jika koneksi yang terlibat dalam binding ditutup, metode ini akan dipanggil.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
~DMClient
virtual ~DMClient( void )
Destruktor untuk objek DMClient.
Menghapus semua status internal dan, jika perlu, membatalkan langganan yang tertunda.