nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
實作 Weave 伺服器委派物件的常見基礎類別。
摘要
繼承
Direct Known Subclasses:nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegatenl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegatenl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::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 傳送給要求者,其狀態會顯示為「Common/AccessDenied」。另一種導入方法則可選擇傳送自己的回應,例如 StatusReport 或任何其他類型的訊息。在這種情況下,這個方法應傳回 拒絕_RespSent 的結果,以表示回應已送出。最後,實作可以傳回 拒絕_Silent,指出應拒絕要求,而不需傳送回應給要求者。
在呼叫案例中,您必須覆寫 EnforceAccessControl() 方法的類別,才能對其立即父項類別呼叫類似名稱的方法、WeaveServerDelegateBase 類別,或是由該類別衍生的類別。覆寫方法必須先依據上述的存取權控管政策更新結果值,然後再呼叫其基礎類別以做出判斷。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )