nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
實作 Weave 伺服器委派物件的通用基礎類別。
摘要
繼承
直接已知的子類別:nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate
受保護的類型 |
|
---|---|
@69{
|
列舉 |
AccessControlResult
|
typedefuint8_t
|
受保護的函式 |
|
---|---|
EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
|
virtual void
判定傳入伺服器要求訊息的訊息層級存取權控管政策的虛擬方法。
|
WeaveServerDelegateBase(void)
|
|
受保護的類型
69 人
@69
AccessControlResult
uint8_t AccessControlResult
受保護的函式
EnforceAccessControl
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
判定傳入伺服器要求訊息的訊息層級存取權控管政策的虛擬方法。
Weave 伺服器基礎架構會呼叫這個方法,以判斷系統應正常接受及處理傳入的要求訊息,還是遭到拒絕。與 Weave 伺服器實作相關聯的委派類別必須覆寫這個方法,才能為其通訊協定導入適當的存取權控管政策。應用程式可以進一步覆寫此方法,以支援標準伺服器實作所提供的政策以外的自訂政策。
導入這個方法時,應根據存取權控管政策的評估結果,傳回「已接受」或「已拒絕」。傳回「拒絕」結果後,系統會將 StatusReport 傳送給申請者,當中包含「一般」/「存取遭拒」狀態。方法導入方式也可選擇傳送自己的回應,可以是 StatusReport 或任何其他類型的訊息。在這種情況下,此方法應傳回 Dismiss_RespSent 的結果,以表示已送出回應。最後,實作方式可以傳回 Accept_Silent,表示要求應遭到拒絕,無需傳送回應給要求者。
如果呼叫案例中要覆寫 EnforceAccessControl() 方法,必須透過該類別在其直接父項類別上呼叫類似命名方法,例如 WeaveServerDelegateBase 類別,或是衍生自該類別的類別。覆寫方法必須先以判斷存取控制政策的方式更新結果值,接著呼叫基礎類別以做出確定。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )