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{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
列舉
AccessControlResult typedef
uint8_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 類別,或是衍生自該類別的類別。覆寫方法必須先以判斷存取控制政策的方式更新結果值,接著呼叫基礎類別以做出確定。

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

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)