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{
|
enum |
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 サーバーの実装に関連付けられたデリゲート クラスは、このメソッドをオーバーライドして、プロトコルに適切なアクセス制御ポリシーを実装する必要があります。アプリはこのメソッドをさらにオーバーライドして、標準のサーバー実装で提供されるポリシー以外のカスタム ポリシーをサポートすることもできます。
このメソッドの実装では、アクセス制御ポリシーの評価結果に基づいて、Accepted または Rejected の結果値を返すことが期待されます。Rejected という結果が返されると、Common/AccessDenied ステータスを含む StatusReport がリクエスト元に送信されます。または、メソッドの実装では、独自のレスポンス(StatusReport やその他のタイプのメッセージ)を送信することもできます。この場合、メソッドは Rejected_RespSent の結果を返し、レスポンスがすでに送信されたことを通知する必要があります。最後に、実装は Rejected_Silent を返し、リクエスト元にレスポンスを送信せずにリクエストを拒否する必要があることを示すことができます。
EnforceAccessControl() メソッドをオーバーライドするクラスは、直接の親クラス(WeaveServerDelegateBase クラス、またはそのクラスから派生したクラス)で、同じ名前のメソッドを呼び出す必要があります。オーバーライドするメソッドでは、まずアクセス制御ポリシーの判定によって結果の値を更新し、次に基本クラスを呼び出してその判定を行います。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )