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

這是抽象類別。

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

抽象 ProfileData 輔助內部類別。

摘要

ProfileDatabase 子類別實作器也應實作這個輔助內部類別的子類別。ProfileData 物件的函式是用來提供掛鉤,系統會在可儲存具體資料的情況下將其表示為 TLV,並以 TLV 表示法 (指定路徑清單為 TLV 編碼) 進行擷取。

建構函式和解構函式

ProfileData(void)
ProfileData 的預設建構函式。
~ProfileData(void)
ProfileData 的解構函式。

公開屬性

mVersion
uint64_t
設定檔資料版本。

公開函式

Retrieve(nl::Weave::TLV::TLVReader & aPathReader, nl::Weave::TLV::TLVWriter & aDataWriter)=0
virtual WEAVE_ERROR
根據剩餘的 WDM 路徑寫出資料項目。
Store(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)
virtual WEAVE_ERROR
儲存正在讀取的資料清單項目。
StoreItem(const uint64_t & aTag, nl::Weave::TLV::TLVReader & aDataReader)=0
virtual WEAVE_ERROR
根據標記儲存資料項目。

公開屬性

mVersion

uint64_t mVersion

設定檔資料版本。

ProfileData 物件中指定的版本會套用至特定執行個體的整個設定檔資料集。

公開函式

ProfileData

 ProfileData(
  void
)

ProfileData 的預設建構函式。

如要初始化新的 ProfileData 項目,請將項目版本設為 0。

擷取

virtual WEAVE_ERROR Retrieve(
  nl::Weave::TLV::TLVReader & aPathReader,
  nl::Weave::TLV::TLVWriter & aDataWriter
)=0

根據剩餘的 WDM 路徑寫出資料項目。

每當 ProfileData 子類別物件的個別元素可在特定標記下存取時,ProfileDatabase 子類別實作器都必須為這個方法提供具體的實作。

詳細資料
參數
[in] aPathReader
這是 TLV 讀取器的參照,位於設定檔資訊後方的 WDM 路徑中,例如「剩餘」路徑元素 (如果有的話)
[in] aDataWriter
這是 TLV 寫入器的參照,用來寫出殘差路徑指定的資料。
傳回
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,反映無法辨識殘差標記或寫入對應資料的其他形式。

商店

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

儲存正在讀取的資料清單項目。

這個虛擬方法可用來將特定資料清單項目儲存在具體的 ProfileData 子類別物件中。如果物件簡單且「淺層」,且路徑只有一長,則父類別中的實作可能會使用。如果是較複雜的結構定義,實作者應覆寫此方法。

詳細資料
參數
[in] aPathReader
TLV 讀取器的參照,位於資料清單項目的路徑元件。
[in] aVersion
資料清單項目的 64 位元版本元件。
[in] aDataReader
TLV 讀取器的參照,位於資料清單項目的資料元件。
傳回
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,表示無法儲存所需資料。

StoreItem

virtual WEAVE_ERROR StoreItem(
  const uint64_t & aTag,
  nl::Weave::TLV::TLVReader & aDataReader
)=0

根據標記儲存資料項目。

詳細資料
參數
[in] aTag
要儲存資料的完整 64 位元 TLV 標記參照。
[in] aDataReader
放置在要儲存的資料項目上的 TLV 讀取器。
傳回
成功時 WEAVE_NO_ERROR,否則會傳回 WEAVE_ERROR,表示無法辨識代碼或儲存資料。

~ProfileData

virtual  ~ProfileData(
  void
)

ProfileData 的解構函式。

就像建構函式一樣,這個動作會將資料版本清除為 0。