Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl::Weave::WeaveServerDelegateBase

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

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

まとめ

継承

174

保護されるタイプ

@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

プロテクト関数

適用のアクセス制御

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
)