nl ::織り::プロファイル:: DataManagement_Current ::コマンド

#include <src/lib/profiles/data-management/Current/Command.h>

概要

注:このクラスは、コマンドの処理中に特定の詳細を隠すように設計されています。決定は、の詳細を隠すためになされたもので、 ExchangeContextアプリケーション層にPacketBuffersの取り扱いを残したまま、オーセンティケータとの検証を。コマンド処理に関するこのラッパーの有用性は、主にセキュリティ検証とデータのシリアル化/逆シリアル化に伴う複雑さ/柔軟性のために、実際に制限されています。

コマンド検証の詳細はまだ未定です

進行中、ステータスレポート、また、応答メッセージの再送タイミングを調整するには、アプリケーション層は何とか対処しなければならないExchangeContextのオブジェクト。ベストプラクティスはまだ未定ですが、アプリケーション層には次の3つの選択肢があります。

1)を介して交換コンテキストを取得GetExchangeContextと直接評価する/それを調整します。 2)事前割り当てと設定バインディングが適切に3ブートアップ、任意のコマンドが到着する前に、とのconfigureの際に)一時的に作成してバインドこの機能BindingPool :: NewResponderBindingFromExchangeContextを使用して

(2)と(3)の両方で、アプリケーション層はBinding :: ConfigureExistingExchangeContextを介してセキュリティ/タイミング設定を適用できます。バインディングそれはこのハンドル内に格納する必要はありませんので、カスタムコマンドのための新しい交換コンテキストを生成するために使用されることはありません。

要求パケットバッファもこのハンドル内に格納されません。これは、明確な使用法がないためです。これは、アプリケーション層がこのコマンドを処理して応答を直接送信できる場合に特に当てはまります。

アプリケーション層は、このコマンドハンドルを受信するのと同じコールバックからパケットバッファを受信します。このコマンドを非同期で処理する場合は、コマンドハンドルとパケットバッファの両方を保存する必要があります。

パブリックタイプ

CommandFlags {
kCommandFlag_MustBeVersionValid = 0x0001,
kCommandFlag_InitiationTimeValid = 0x0002,
kCommandFlag_ActionTimeValid = 0x0004,
kCommandFlag_ExpiryTimeValid = 0x0008,
kCommandFlag_IsOneWay = 0x0010
}
列挙型
コマンドフラグビット。
CommandFlags typedef
コマンドフラグビット。

パブリック属性

actionTimeMicroSecond
int64_t
commandType
uint64_t
expiryTimeMicroSecond
int64_t
initiationTimeMicroSecond
int64_t
mustBeVersion
uint64_t

公の行事

Close (void)
void
GetExchangeContext (void) const
この着信コマンドで使用される交換コンテキストオブジェクトを取得します。
IsActionTimeValid (void) const
bool
IsExpiryTimeValid (void) const
bool
IsInitiationTimeValid (void) const
bool
IsMustBeVersionValid (void) const
bool
IsOneWay (void) const
bool
SendError (uint32_t aProfileId, uint16_t aStatusCode, WEAVE_ERROR aWeaveError)
SendInProgress (void)
SendResponse (uint32_t traitInstanceVersion, nl::Weave::System::PacketBuffer *apPayload)
ValidateAuthenticator ( nl::Weave::System::PacketBuffer *aRequestBuffer)

パブリックタイプ

CommandFlags

 CommandFlags

コマンドフラグビット。

プロパティ
kCommandFlag_ActionTimeValid

アクション時間が有効なときに設定します。

kCommandFlag_ExpiryTimeValid

有効期限が有効なときに設定します。

kCommandFlag_InitiationTimeValid

初期化時間が有効なときに設定します。

kCommandFlag_IsOneWay

コマンドが一方向の場合に設定します。

kCommandFlag_MustBeVersionValid

バージョンフィールドが有効なときに設定します。

CommandFlags

enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags

コマンドフラグビット。

パブリック属性

actionTimeMicroSecond

int64_t actionTimeMicroSecond

commandType

uint64_t commandType

expiryTimeMicroSecond

int64_t expiryTimeMicroSecond

イニシエーションタイムマイクロセカンド

int64_t initiationTimeMicroSecond

mustBeVersion

uint64_t mustBeVersion

公の行事

閉じる

void Close(
  void
)

GetExchangeContext

nl::Weave::ExchangeContext * GetExchangeContext(
  void
) const 

この着信コマンドで使用される交換コンテキストオブジェクトを取得します。

詳細
戻り値
この着信コマンドで使用される交換コンテキストオブジェクトへのポインタ

IsActionTimeValid

bool IsActionTimeValid(
  void
) const 

IsExpiryTimeValid

bool IsExpiryTimeValid(
  void
) const 

IsInitiationTimeValid

bool IsInitiationTimeValid(
  void
) const 

IsMustBeVersionValid

bool IsMustBeVersionValid(
  void
) const 

IsOneWay

bool IsOneWay(
  void
) const 

SendError

WEAVE_ERROR SendError(
  uint32_t aProfileId,
  uint16_t aStatusCode,
  WEAVE_ERROR aWeaveError
)

SendInProgress

WEAVE_ERROR SendInProgress(
  void
)

SendResponse

WEAVE_ERROR SendResponse(
  uint32_t traitInstanceVersion,
  nl::Weave::System::PacketBuffer *apPayload
)

ValidateAuthenticator

WEAVE_ERROR ValidateAuthenticator(
  nl::Weave::System::PacketBuffer *aRequestBuffer
)