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 )