nl::Weave::WeaveServerBase

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

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

概要

継承

直系の既知のサブクラス:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

パブリック属性

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

静的パブリック関数

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

[読み取り専用] Fabric 状態オブジェクト

静的パブリック関数

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
)