nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
應用程式專屬 WDM 用戶端的抽象基本類別。
摘要
DMClient 是標準 WDM 用戶端。您可以選擇在實作中加入訂閱/通知。這個程式庫結合了 DM ProtocolEngine 類別,負責處理通訊通訊的工具和完全抽象的 ClientDataManager 類別,而它們也實作了與訂閱相關的部分方法,所以您不用擔心這些方法的較高層。
訂閱相關工作的處理常式主要做為 ClientNotifier 物件的精簡轉接器。子類別實作者應謹慎呼叫相關的父類別方法,才能轉化訂閱管理員。
DMClient 要求方法通常有 2 個簽章,一個有明確的目的地節點 ID,另一個有指定目的地。無論是哪一種情況,傳送訊息給發布者的能力都取決於用戶端中現有的繫結,但在第一種情況下,目的地 ID 是在多個繫結目的地之間選取,而在第二個情況下,系統會選取繫結表格中的第一個項目做為預設值。舉例來說,如果用戶端只會繫結至一個發布商,這項功能就非常實用。
繼承
沿用自:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
建構函式和解構函式 |
|
---|---|
DMClient(void)
DMClient 物件的預設建構函式。
|
|
~DMClient(void)
DMClient 物件的解構函式。
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
要求檢視已發布的資料。
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
要求查看預設發布商的資料。
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
要求更新已發布的資料。
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
要求更新預設發布商的資料。
|
受保護的屬性 |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
公用函式 |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
要求取消執行中的交易。
|
Clear(void)
|
virtual void
清除與 DMClient 物件相關聯的內部狀態。
|
Finalize(void)
|
virtual void
關閉作業中的 DMClient。
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
處理用戶端使用繫結的「未完成」。
|
受保護的函式 |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
要求檢視已發布的資料。
要求檢視位於指定遠端發布者並管理的資料。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
||||||||
傳回 |
否則,將反映初始化或啟動交易失敗的 WEAVE_ERROR。
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
要求查看預設發布商的資料。
要求「預設」發布者 (亦即用戶端繫結資料表中第一個 (或僅限)) 管理所在資源的檢視畫面。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
||||||
傳回 |
否則,將反映初始化或啟動交易失敗的 WEAVE_ERROR。
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
要求更新已發布的資料。
要求遠端發布者更新管理服務的資料。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回 |
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
要求更新預設發布商的資料。
要求遠端發布者更新管理服務的資料。這個版本會將要求導向用戶端預設繫結的目標發布者。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
受保護的屬性
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
公用函式
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
要求取消執行中的交易。
這個方法不會產生網路流量,只會釋出分配給指定交易的資源
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
成功時出現 WEAVE_NO_ERROR,或表示無法取消交易的 WEAVE_ERROR。
|
清除
virtual void Clear( void )
清除與 DMClient 物件相關聯的內部狀態。
尤其是,這個方法會清除所有用戶端交易集區。針對已使用 Finalize() 方法的用戶端,是建議使用,因為它也會取消訂閱並清理交易和繫結資料表。
另請參閱:Finalize()
完成轉換
virtual void Finalize( void )
關閉作業中的 DMClient。
清除與用戶端相關聯的所有作業狀態,並從通知器中移除所有相關訂閱。呼叫 Finalize() 後,便可只透過呼叫 Init() 重新初始化 DMClient。DMClient 解構函式會叫用 Finalize(),但如果 DMClient 需要清理 (例如失敗或暫時關閉),之後可能需要重新還原。
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )