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
}
enum
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 サーバーの実装に関連付けられたデリゲート クラスは、このメソッドをオーバーライドして、プロトコルに適切なアクセス制御ポリシーを実装する必要があります。アプリはこのメソッドをさらにオーバーライドして、標準のサーバー実装で提供されるポリシー以外のカスタム ポリシーをサポートすることもできます。

このメソッドの実装では、アクセス制御ポリシーの評価結果に基づいて、Accepted または Rejected の結果値を返すことが期待されます。Rejected という結果が返されると、Common/AccessDenied ステータスを含む StatusReport がリクエスト元に送信されます。または、メソッドの実装では、独自のレスポンス(StatusReport やその他のタイプのメッセージ)を送信することもできます。この場合、メソッドは Rejected_RespSent の結果を返し、レスポンスがすでに送信されたことを通知する必要があります。最後に、実装は Rejected_Silent を返し、リクエスト元にレスポンスを送信せずにリクエストを拒否する必要があることを示すことができます。

EnforceAccessControl() メソッドをオーバーライドするクラスは、直接の親クラス(WeaveServerDelegateBase クラス、またはそのクラスから派生したクラス)で、同じ名前のメソッドを呼び出す必要があります。オーバーライドするメソッドでは、まずアクセス制御ポリシーの判定によって結果の値を更新し、次に基本クラスを呼び出してその判定を行います。

詳細
パラメータ
[in] ec
メッセージを受信した ExchangeContext
[in] msgProfileId
受信したメッセージのプロファイル ID。
[in] msgType
受信したメッセージのメッセージ タイプ。
[in] msgInfo
受信したメッセージに関する情報を含む WeaveMessageInfo 構造体。
[in,out] result
受信したメッセージのアクセス制御ポリシーの評価結果を表す列挙値。メソッドに入ると、この値は評価プロセスの現在の時点での暫定的な結果を表します。返される結果には、メッセージのアクセス制御ポリシーの最終評価を表すことが求められます。

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)