nl:: Weave:: Profiles:: DataManagement_Legacy:: ProfileDatabase
這是抽象類別。
#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>
抽象 ProfileDatabase 輔助類別。
摘要
WDM 將通訊協定實作與資料管理實作分開,至少在原則上交由應用程式開發人員處理。WDM 中的所有有趣呼叫,以及設定檔開發人員在實作 TLV 編碼路徑清單或資料清單所需的所有抽象方法。這會對設定檔開發人員造成負擔,但實際上,開發人員在編寫和解壓縮 TLV 等封裝和解壓縮的相同程式碼後,就會像開發人員一樣進行大量程式碼重複的情形。為方便起見,我們提供了一種「資料管理工具包」。
在提供必要的具體 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:: |
抽象 ProfileData 輔助內部類別。 |
公開函式
LookupDataFromProfileDescriptor
WEAVE_ERROR LookupDataFromProfileDescriptor( nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData )
在資料庫中找出 ProfileData 物件。
這個公用程式方法可用來尋找特定 ProfileDatabase 中的 ProfileData 物件。這主要取決於具體 ProfileDatabase 子類別的實作者提供的查詢方法。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
LookupProfileData
WEAVE_ERROR LookupProfileData( nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData )
在資料庫中找出 ProfileData 物件。
這個公用程式方法可用來尋找特定 ProfileDatabase 中的 ProfileData 物件。這主要取決於具體 ProfileDatabase 子類別的實作者提供的查詢方法。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
LookupProfileData
virtual WEAVE_ERROR LookupProfileData( uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult )=0
查詢 ProfileData 物件。
查詢指定設定檔 ID 和 (選用) 執行個體 ID 的特定 ProfileData 物件做為 TLV 讀取器使用
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
擷取
WEAVE_ERROR Retrieve( ReferencedTLVData & aPathList, ReferencedTLVData & aDataList )
根據路徑清單擷取資料清單。
取得路徑清單後,擷取路徑清單,其中包含路徑清單中每個路徑的資料清單元素資料清單,而這些資料是該路徑的終端機。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,表示無法擷取所需資料清單。
|
擷取
WEAVE_ERROR Retrieve( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter )
根據路徑清單寫出資料清單。
假設有一個路徑清單和 TLV 寫入器,請寫出資料清單,其中包含路徑清單中每個路徑的資料清單元素,以及該路徑終端機的資料。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,表示無法擷取資料或寫入所需資料清單。
|
商店
WEAVE_ERROR Store( ReferencedTLVData & aDataList )
儲存資料清單。
根據 TLV 編碼的資料清單,此方法會執行剖析該清單的程序,並呼叫 ProfileDatabase 子類別實作者提供的具體方法,將參照的資料放在所屬的位置。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,表示無法儲存所需資料。
|
受保護的函式
StoreInternal
WEAVE_ERROR StoreInternal( nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader )