nl::Weave::Profiles::DeviceControl::DeviceControlDelegate

這是抽象類別。

#include <src/lib/profiles/device-control/DeviceControl.h>

在伺服器裝置上實作傳入裝置控製作業的委派類別。

摘要

繼承

沿用自: nl::Weave::WeaveServerDelegateBase
直接已知的子類別: nl::Weave::DeviceLayer::Internal::DeviceControlServer

公開函式

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
對傳入的 DeviceControl 要求訊息強制執行訊息層級存取權控管機制。
IsPairedToAccount() const
virtual bool
呼叫此方法會判斷裝置目前是否已經與帳戶配對。
IsResetAllowed(uint16_t resetFlags)=0
virtual bool
請檢查是否能重設指定的設定。
OnConnectionMonitorTimeout(uint64_t peerNodeId, IPAddress peerAddr)=0
virtual void
表示連線監控器逾時。
OnFailSafeArmed(void)=0
virtual WEAVE_ERROR
表示裝置設定失敗安全已啟動。
OnFailSafeDisarmed(void)=0
virtual WEAVE_ERROR
表示已解除裝置設定失敗的安全性。
OnRemotePassiveRendezvousDone(void)=0
virtual void
表示「遠端被動式」程序已完成。
OnRemotePassiveRendezvousStarted(void)=0
virtual void
表示「遠端被動式」程序已開始。
OnResetConfig(uint16_t resetFlags)=0
virtual WEAVE_ERROR
重設所有或部分裝置設定。
OnSystemTestStarted(uint32_t profileId, uint32_t testId)=0
virtual WEAVE_ERROR
啟動指定的系統測試。
OnSystemTestStopped(void)=0
virtual WEAVE_ERROR
停止進行中的系統測試。
ShouldCloseConBeforeResetConfig(uint16_t resetFlags)=0
virtual bool
判斷是否應在重設設定前關閉伺服器連線 (如有)。
WillCloseRemotePassiveRendezvous(void)=0
virtual void
準備停止「遠端被動式」開始。
WillStartRemotePassiveRendezvous(void)=0
virtual WEAVE_ERROR
為遠端被動共跑活動做好準備。

公開函式

EnforceAccessControl

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

對傳入的 DeviceControl 要求訊息強制執行訊息層級存取權控管機制。

詳細資料
參數
[in] ec
接收訊息的 ExchangeContext
[in] msgProfileId
接收訊息的個人資料 ID。
[in] msgType
接收訊息的訊息類型。
[in] msgInfo
包含已接收訊息相關資訊的 WeaveMessageInfo 結構。
[in,out] result
一個列舉值,說明接收訊息的存取權控管政策評估結果。輸入方法後,值代表評估程序中目前時間點的暫定結果。傳回後,結果應代表該訊息的最終存取權控管政策評估。

IsPairedToAccount

virtual bool IsPairedToAccount() const 

呼叫此方法會判斷裝置目前是否已經與帳戶配對。

IsResetAllowed

virtual bool IsResetAllowed(
  uint16_t resetFlags
)=0

請檢查是否能重設指定的設定。

詳細資料
參數
[in] resetFlags
用於指定要重設設定的旗標。
傳回值
TRUE
前提是可以重設設定。
FALSE
則代表無法重設設定。

OnConnectionMonitorTimeout

virtual void OnConnectionMonitorTimeout(
  uint64_t peerNodeId,
  IPAddress peerAddr
)=0

表示連線監控器逾時。

發生連線監控器逾時的情況時,就會呼叫此函式,也就是未在遠端主機偵測到有效性檢查的時間。

詳細資料
參數
[in] peerNodeId
連線有效性逾時的遠端對等點節點 ID。
[in] peerAddr
遠端對等點的位址。

OnFailSafeArmed

virtual WEAVE_ERROR OnFailSafeArmed(
  void
)=0

表示裝置設定失敗,已啟動。

為回應用戶端的要求,若伺服器裝置設定失敗,系統就會呼叫此函式。在設定程序失敗的情況下,故障安全機制會自動將裝置設定重設為已知狀態。

詳細資料
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,表示因發生錯誤而無法順利啟動失敗功能。

OnFailSafeDisarmed

virtual WEAVE_ERROR OnFailSafeDisarmed(
  void
)=0

表示已解除裝置設定失敗的安全性。

回應用戶端的要求安全,且伺服器裝置設定失敗時,系統就會呼叫此函式。設定完成後,用戶端會解除故障安全機制。

詳細資料
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,表示發生錯誤,導致故障安全,無法解除。

OnRemotePassiveRendezvousDone

virtual void OnRemotePassiveRendezvousDone(
  void
)=0

表示「遠端被動式」程序已完成。

OnRemotePassiveRendezvousStarted

virtual void OnRemotePassiveRendezvousStarted(
  void
)=0

表示「遠端被動式」程序已開始。

OnResetConfig

virtual WEAVE_ERROR OnResetConfig(
  uint16_t resetFlags
)=0

重設所有或部分裝置設定。

此函式的實作應根據重設旗標,將網路、Weave 布料或服務設定的任意組合重設為已知狀態。

詳細資料
參數
[in] resetFlags
用於指定要重設設定的旗標。
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,表示因發生錯誤而造成裝置無法重設設定。

OnSystemTestStarted

virtual WEAVE_ERROR OnSystemTestStarted(
  uint32_t profileId,
  uint32_t testId
)=0

啟動指定的系統測試。

詳細資料
參數
[in] profileId
要求測試的個人資料 ID。
[in] testId
所請求測試的 ID。
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,表示發生錯誤,導致無法啟動系統測試。

OnSystemTestStopped

virtual WEAVE_ERROR OnSystemTestStopped(
  void
)=0

停止進行中的系統測試。

詳細資料
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,表示發生錯誤,導致無法停止系統測試。

ShouldCloseConBeforeResetConfig

virtual bool ShouldCloseConBeforeResetConfig(
  uint16_t resetFlags
)=0

判斷是否應在重設設定前關閉伺服器連線 (如有)。

處理設定重設要求時,此函式可用於查詢所需行為的委派項目。如果目前伺服器連線有效,在透過 OnResetConfig 方法觸發設定重設之前,此方法的 TRUE 回應將導致連線已關閉。

詳細資料
參數
[in] resetFlags
用於指定要重設設定的旗標。
傳回值
true
視需要關閉連線
false
不需要關閉連線

WillCloseRemotePassiveRendezvous

virtual void WillCloseRemotePassiveRendezvous(
  void
)=0

準備停止「遠端被動式」開始。

另請參閱:
WillStartRemotePassiveRendezvous(void)

WillStartRemotePassiveRendezvous

virtual WEAVE_ERROR WillStartRemotePassiveRendezvous(
  void
)=0

為遠端被動共跑活動做好準備。

例如,請將 15.4/Thread 網路設為可彙整。

詳細資料
傳回值
WEAVE_NO_ERROR
成功時。
other
其他 Weave 或平台專屬錯誤代碼,用於表示準備啟動遠端被動式執行時發生錯誤。