nl::Weave::WeaveServerDelegateBase

#include <src/lib/core/WeaveServerBase.h>

Weave サーバー デリゲート オブジェクトを実装するための共通の基本クラス。

概要

継承

Direct 既知のサブクラス:
  nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate


nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::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 またはその他のタイプのメッセージ)を送信するように選択することもできます。この場合、メソッドはレスポンスがすでに送信されたことを示すために、Reject_RespSent の結果を返す必要があります。最後に、実装は Reject_Silent を返すことにより、リクエスト元にレスポンスを送信せずにリクエストが拒否されることを示します。

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

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

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)