nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

これは抽象クラスです。

#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>

ProfileDatabase 補助クラス抽象クラス。

概要

WDM では、プロトコルの実装とデータ管理の実装を分離し、少なくとも原則として、後者のほとんどをアプリケーション開発者に任せています。WDM のすべての重要な呼び出しと、プロファイルのデベロッパーが実装する必要があるすべての抽象メソッドは、TLV エンコードのパスリストまたはデータリストを使用します。これはプロファイル デベロッパーに負担がかかり、実際は、デベロッパーが TLV のパッキングとアンパックなどのために同じコードを記述した後、多くのコード重複の原因となります。少しでも簡単にするために、Google では「データ マネジメント ツールキット」を提供しています。

この補助クラスは、必要な具象 ProfileData サブクラスが指定され、以下の LookupProfileData() メソッドに追加されている場合、データの格納と取得をサポートします。

パブリック関数

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
データベースで ProfileData オブジェクトを見つけます。
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
データベースで ProfileData オブジェクトを見つけます。
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
ProfileData オブジェクトを検索します。
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
パスリストを指定してデータリストを取得します。
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
パスリストを指定してデータリストを書き出します。
Store(ReferencedTLVData & aDataList)
データリストを保存します。

プロテクト関数

StoreInternal(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)

クラス

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase::ProfileData

ProfileData 補助内部クラス。

パブリック関数

LookupDataFromProfileDescriptor

WEAVE_ERROR LookupDataFromProfileDescriptor(
  nl::Weave::TLV::TLVReader & aDescReader,
  ProfileData **aProfileData
)

データベースで ProfileData オブジェクトを見つけます。

このユーティリティ メソッドは、特定の ProfileDatabase 内の ProfileData オブジェクトを検出するために使用されます。具体的な ProfileDatabase サブクラスの実装者が提供するルックアップ メソッドに大きく依存します。

詳細
パラメータ
[in] aDescReader
WDM パスに配置された TLV リーダーへの参照(最初の要素としてプロフィールの説明を持つ TLV パス)。
[out] aProfileData
対象の ProfileData オブジェクトへのポインタを返すためのポインタ。
戻り値
成功した場合は WEAVE_NO_ERROR。それ以外の場合は、一致する ProfileData オブジェクトの検索に失敗したことを示す WEAVE_ERROR を返します。

LookupProfileData

WEAVE_ERROR LookupProfileData(
  nl::Weave::TLV::TLVReader & aPathReader,
  ProfileData **aProfileData
)

データベースで ProfileData オブジェクトを見つけます。

このユーティリティ メソッドは、特定の ProfileDatabase 内の ProfileData オブジェクトを検出するために使用されます。具体的な ProfileDatabase サブクラスの実装者が提供するルックアップ メソッドに大きく依存します。

詳細
パラメータ
[in] aPathReader
WDM パスに配置された TLV リーダーへの参照(最初の要素としてプロフィールの説明を持つ TLV パス)。
[out] aProfileData
対象の ProfileData オブジェクトへのポインタを返すためのポインタ。
戻り値
成功した場合は WEAVE_NO_ERROR。それ以外の場合は、一致する ProfileData オブジェクトの検索に失敗したことを示す WEAVE_ERROR を返します。

LookupProfileData

virtual WEAVE_ERROR LookupProfileData(
  uint32_t aProfileId,
  nl::Weave::TLV::TLVReader *aInstanceIdRdr,
  ProfileData **aResult
)=0

ProfileData オブジェクトを検索します。

TLV リーダーとして提供されるプロファイル ID とインスタンス ID(省略可)を指定して、特定の ProfileData オブジェクトを検索します。

詳細
パラメータ
[in] aProfileId
目的のプロファイルの 32 ビット プロファイル番号。
[in] aInstanceIdRdr
インスタンス ID データに配置された TLV リーダーへのポインタ。インスタンス識別子が指定されていない場合は、NULL になります。
[out] aResult
対象の ProfileData オブジェクトへのポインタを返すためのポインタ。
戻り値
WEAVE_NO_ERROR 成功の場合。それ以外の場合は、ProfileData オブジェクトが見つからないことを示す WEAVE_ERROR を返します。

取得

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

パスリストを指定してデータリストを取得します。

パスのリストが与えられたら、パスリスト内の各パスのデータリスト要素を含むデータリストを取得し、そのパスの終端であるデータを取得します。

詳細
パラメータ
[in] aPathList
取得するデータを表す TLV エンコードされたパスのリストを含む ReferencedTLVData オブジェクトへの参照。このパラメータは、この関数の実行中に一定に保たれます。
[out] aDataList
取得した結果を書き込む ReferencedTLVData オブジェクトへの参照。データ長は、この関数の実行が正常に完了した後にのみ調整されます。
戻り値
WEAVE_NO_ERROR 成功の場合。それ以外の場合は、対象のデータリストの取得に失敗したことを示す WEAVE_ERROR を返します。

取得

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVWriter & aWriter
)

パスリストを指定してデータリストを書き出します。

パスのリストと TLV ライターから、パスリスト内の各パスのデータリスト要素と、そのパスの終端であるデータを含むデータリストを書き出します。

詳細
パラメータ
[in] aPathList
取得するデータを表す TLV パスのリストを含む ReferencedTLVData オブジェクトへの参照。このパラメータは、この関数の実行中に一定に保たれます。
[in] aWriter
取得したパスリストの書き出しに使用する TLV ライターへの参照。エラーが発生した場合、ライターの内部状態は回復不能になります。
戻り値
WEAVE_NO_ERROR 成功の場合。それ以外の場合は、データの取得、または対象となるデータリストの書き出しに失敗したことを示す WEAVE_ERROR を返します。

保存

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

データリストを保存します。

TLV でエンコードされたデータリストが指定された場合、このメソッドでは、そのリストを解析し、ProfileDatabase サブクラスの実装者が提供する具象メソッドを呼び出して、参照されるデータをそのリストに配置する処理が行われます。

詳細
パラメータ
[in] aDataList
対象データを含む ReferencedTLVData オブジェクトへの参照(TLV エンコード形式)。
戻り値
WEAVE_NO_ERROR 成功の場合。それ以外の場合は、目的のデータの保存に失敗したことを示す WEAVE_ERROR を返します。

プロテクト関数

StoreInternal

WEAVE_ERROR StoreInternal(
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t aVersion,
  nl::Weave::TLV::TLVReader & aDataReader
)