nl::Weave::WeaveServerBase

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

認証済みリクエストの検証とステータス レポートの送信をカプセル化し、ファブリック状態とエクスチェンジ マネージャー用の共通のデータメンバー ストレージを提供する、Weave プロファイルの非要請型レスポンダー(サーバー)を実装するための共通のベース オブジェクト。

概要

継承

Direct Known Subclasses:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServernl::Weave::Profiles::FabricProvisioning::FabricProvisioningServernl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceivernl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServernl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServernl::Weave::Profiles::TokenPairing::TokenPairingServernl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServernl::Weave::Profiles::WeaveEchoServer

パブリック属性

ExchangeMgr
[読み取り専用] Exchange マネージャー オブジェクト
FabricState
[読み取り専用] ファブリック状態オブジェクト

静的パブリック関数

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
指定したプロファイルのステータス コードとシステムエラーを含む、指定したエクスチェンジのイニシエータに、デフォルトのメッセージ フラグ付きの Weave ステータス レポートを送信します。
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
指定したエクスチェンジのイニシエータに、指定したプロファイルのステータス コードとシステムエラーを含むメッセージ フラグを指定した Weave ステータス レポートを送信します。

プロテクト関数

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
Weave サーバーへの受信リクエスト メッセージを受け入れるか破棄するかを決定します。
WeaveServerBase(void)

パブリック属性

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[読み取り専用] Exchange マネージャー オブジェクト

FabricState

WeaveFabricState * FabricState

[読み取り専用] ファブリック状態オブジェクト

静的パブリック関数

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

指定したプロファイルのステータス コードとシステムエラーを含む、指定したエクスチェンジのイニシエータに、デフォルトのメッセージ フラグ付きの Weave ステータス レポートを送信します。

詳細
パラメータ
[in] ec
ステータス レポートを送信する交換コンテキストへのポインタ。
[in] statusProfileId
指定されたステータス コードのプロファイル。
[in] statusCode
送信するステータス コード。
[in] sysError
ステータス コードに関連する、または関連するシステムエラー。

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

指定したエクスチェンジのイニシエータに、指定したプロファイルのステータス コードとシステムエラーを含むメッセージ フラグを指定した Weave ステータス レポートを送信します。

詳細
パラメータ
[in] ec
ステータス レポートを送信する交換コンテキストへのポインタ。
[in] statusProfileId
指定されたステータス コードのプロファイル。
[in] statusCode
送信するステータス コード。
[in] sysError
ステータス コードに関連する、または関連するシステムエラー。
[in] sendFlags
Weave ステータス レポートが送信されるようにアプリケーションによって設定されたフラグ。

プロテクト関数

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

Weave サーバーへの受信リクエスト メッセージを受け入れるか破棄するかを決定します。

このメソッドは、受信リクエスト メッセージに対する拡張可能なアクセス制御ポリシーを実装するために Weave サーバーの実装で使用することを想定しています。委譲オブジェクトに依存するサーバーの実装では、メッセージ処理の早い段階でこのメソッドを呼び出して、メッセージ処理を続行するかどうかを判断する必要があります。

このメソッドは、指定されたデリゲートの仮想 WeaveServerDelegateBase::EnforceAccessControl() メソッドを呼び出して、メッセージのアクセス制御ポリシーを評価します。Weave サーバーのデリゲート クラスと、標準のサーバークラスから派生したアプリケーション固有のデリゲートは、仮想メソッドをオーバーライドして、特定のアクセス制御ポリシーを適用する必要があります。

詳細
パラメータ
[in] ec
メッセージを受信した ExchangeContext
[in] msgProfileId
受信したメッセージのプロファイル ID。
[in] msgType
受信メッセージのメッセージ タイプ。
[in] msgInfo
受信メッセージに関する情報を含む WeaveMessageInfo 構造。
[in] delegate
アプリケーションによって提供される委任オブジェクト。これを使用してデフォルトのメッセージ アクセス制御ポリシーをオーバーライドできます。
戻り値
true
メッセージが通常どおりに受け入れ、処理されるかどうか。
false
メッセージ処理が停止し、メッセージが破棄される必要がある場合。

WeaveServerBase

 WeaveServerBase(
  void
)