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 オブジェクトを見つけます。

このユーティリティ メソッドは、特定の ProfileDatabaseProfileData オブジェクトを検索するために使用されます。これは、具体的な 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 オブジェクトを見つけます。

このユーティリティ メソッドは、特定の ProfileDatabaseProfileData オブジェクトを検索するために使用されます。これは、具体的な 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 オブジェクトを検索します。

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

詳細
パラメータ
[in] aProfileId
目的のプロファイルの 32 ビットのプロファイル番号。
[in] aInstanceIdRdr
インスタンス識別子データにある TLV リーダーへのポインタ。インスタンス ID が指定されていない場合、この値は 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
TLV エンコード形式の対象データを含む ReferencedTLVData オブジェクトへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、目的のデータの保存に失敗したことを示す WEAVE_ERROR が返されます。

プロテクト関数

StoreInternal

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