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 的預設建構函式。

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

擷取

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

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

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

詳細說明
參數
[in] aPathReader
位於設定檔資訊後方 WDM 路徑中的 TLV 讀取器參照,亦即位於「殘差」路徑元素 (如果有的話) 的參照。
[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,表示無法識別標記或儲存資料。

約設定檔資料

virtual  ~ProfileData(
  void
)

ProfileData 的解構函式。

就像建構函式一樣,這只會清除資料精確度為 0。