nl::Weave::Profiles::DataManagement_Current::TraitPathStore

摘要

构造函数和析构函数

TraitPathStore()
构造函数为空。

公共类型

@153{
  kFlag_Failed = 0x2
}
枚举
Flags typedef
uint8_t

公共属性

mStore
Record *

公共函数

AddItem(const TraitPath & aItem)
TraitPath 添加到商店。
AddItem(const TraitPath & aItem, Flags aFlags)
使用一组给定的标志将 TraitPath 添加到存储区。
AddItemDedup(const TraitPath & aItem, const TraitSchemaEngine *const aSchemaEngine)
AreFlagsSet(size_t aIndex, Flags aFlags) const
bool
Clear()
void
清空商店。
Compact()
void
将商店的所有使用中项向下移到数组开头。
GetFirstValidItem() const
size_t
GetFirstValidItem(TraitDataHandle aTraitDataHandle) const
size_t
GetItemAt(size_t aIndex, TraitPath & aTraitPath)
void
GetNextValidItem(size_t i) const
size_t
GetNextValidItem(size_t i, TraitDataHandle aTraitDataHandle) const
size_t
GetNumItems()
size_t
GetPathStoreSize()
size_t
Includes(const TraitPath & aItem, const TraitSchemaEngine *const aSchemaEngine) const
bool
检查商店中是否有任何 TraitPaths 包含给定的 TraitPath
Init(Record *aRecordArray, size_t aNumItems)
void
初始化 TraitPathStore
InsertItemAfter(size_t aIndex, const TraitPath & aItem, Flags aFlags)
InsertItemAt(size_t aIndex, const TraitPath & aItem, Flags aFlags)
TraitPath 添加到存储区,并将其插入到指定索引处。
Intersects(const TraitPath & aItem, const TraitSchemaEngine *const aSchemaEngine) const
bool
检查商店中是否有任何 TraitPaths 与给定的 TraitPath 相交。
IsEmpty()
bool
IsFull()
bool
IsItemFailed(size_t aIndex) const
bool
IsItemInUse(size_t aIndex) const
bool
IsItemValid(size_t aIndex) const
bool
IsPresent(const TraitPath & aItem) const
bool
检查商店中是否已存在指定的 TraitPath
IsTraitPresent(TraitDataHandle aDataHandle) const
bool
RemoveItem(const TraitPath & aItem)
void
RemoveItemAt(size_t aIndex)
void
RemoveTrait(TraitDataHandle aDataHandle)
void
移除所有引用给定 TraitDataHandle 的 TraitPath。
SetFailed(size_t aIndex)
void
SetFailed()
void
将所有 TraitPaths 标记为失败。
SetFailedTrait(TraitDataHandle aDataHandle)
void
将引用给定 TraitDataHandle 的所有 TraitPath 标记为失败。

结构体

nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Record

公共类型

@153

 nl::Weave::Profiles::DataManagement_Current::TraitPathStore::@153
属性
kFlag_Failed

该商品正在使用中,但不再有效。

标志

uint8_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Flags

公共属性

mStore

Record * nl::Weave::Profiles::DataManagement_Current::TraitPathStore::mStore

公共函数

AddItem

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::TraitPathStore::AddItem(
  const TraitPath & aItem
)

TraitPath 添加到商店。

详细信息
参数
[in] aItem
要存储的 TraitPath
返回值
WEAVE_NO_ERROR
如果成功的话
WEAVE_ERROR_WDM_PATH_STORE_FULL
如果商店已满。

AddItem

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::TraitPathStore::AddItem(
  const TraitPath & aItem,
  Flags aFlags
)

使用一组给定的标志将 TraitPath 添加到存储区。

详细信息
参数
[in] aItem
要存储的 TraitPath
[in] aFlags
要添加到所添加项的标志为 true
返回值
WEAVE_NO_ERROR
如果成功的话
WEAVE_ERROR_WDM_PATH_STORE_FULL
如果商店已满。
WEAVE_ERROR_INVALID_ARGUMENT
如果 aFlags 包含预留标志

AddItemDedup

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::TraitPathStore::AddItemDedup(
  const TraitPath & aItem,
  const TraitSchemaEngine *const aSchemaEngine
)

AreFlagsSet

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::AreFlagsSet(
  size_t aIndex,
  Flags aFlags
) const 

清除

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Clear()

清空商店。

紧凑

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Compact()

将商店的所有使用中项向下移到数组开头。

这有助于使用 TraitPathStore 实现可修改的列表(例如,由 SubscriptionClient 维护的进行中路径的列表)。

GetFirstValidItem

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetFirstValidItem() const 

GetFirstValidItem

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetFirstValidItem(
  TraitDataHandle aTraitDataHandle
) const 

GetItemAt

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetItemAt(
  size_t aIndex,
  TraitPath & aTraitPath
)

GetNextValidItem

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetNextValidItem(
  size_t i
) const 

GetNextValidItem

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetNextValidItem(
  size_t i,
  TraitDataHandle aTraitDataHandle
) const 

GetNumItems

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetNumItems()

详细信息
返回值
返回商店中的 TraitPath 数量。

GetPathStoreSize

size_t nl::Weave::Profiles::DataManagement_Current::TraitPathStore::GetPathStoreSize()

详细信息
返回值
返回存储空间的容纳人数。

包含

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Includes(
  const TraitPath & aItem,
  const TraitSchemaEngine *const aSchemaEngine
) const 

检查商店中是否有任何 TraitPaths 包含给定的 TraitPath

如果符合以下任一条件,TraitPath A 就会包含 TraitPath B:

  • 这两个 traitPath 是相同的
  • A 是 B 的祖先实体。

详细信息
参数
[in] aTraitPath
要针对商店进行检查的 TraitPath
[in] aSchemaEngine
指向 aTraitPath 所引用特征实例的 TraitSchemaEngine 的指针。
返回值
如果商店中的路径已包含 TraitPath,则返回 true。

Init

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Init(
  Record *aRecordArray,
  size_t aNumItems
)

初始化 TraitPathStore

详细信息
参数
[in] aRecordArray
指向用于存储路径和标志的记录数组的指针。
[in] aArrayLength
存储数组的长度(以项数表示)。

InsertItemAfter

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::TraitPathStore::InsertItemAfter(
  size_t aIndex,
  const TraitPath & aItem,
  Flags aFlags
)

InsertItemAt

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::TraitPathStore::InsertItemAt(
  size_t aIndex,
  const TraitPath & aItem,
  Flags aFlags
)

TraitPath 添加到存储区,并将其插入到指定索引处。

假设存储区没有任何间隙。

详细信息
参数
[in] aIndex
要插入 TraitPath 的索引;插入必须保持存储空间的紧凑性
[in] aFlags
要为要添加的项设置为 true 的标志。
返回值
WEAVE_ERROR_INCORRECT_STATE
如果商店有缺口
WEAVE_ERROR_INVALID_ARGUMENT
如果在 aIndex 中添加 TraitPath 会使存储区不紧凑。
WEAVE_ERROR_WDM_PATH_STORE_FULL
如果商店已满。
WEAVE_NO_ERROR
如果成功的话

相交

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::Intersects(
  const TraitPath & aItem,
  const TraitSchemaEngine *const aSchemaEngine
) const 

检查商店中是否有任何 TraitPaths 与给定的 TraitPath 相交。

如果满足以下任一条件,则两个 TraitPath 会彼此相交:

  • 这两个 traitPath 是相同的
  • 两个 TraitPath 中的一个是另一个 TraitPath 的祖先。

详细信息
参数
[in] aTraitPath
要针对商店进行检查的 TraitPath
[in] aSchemaEngine
指向 aTraitPath 所引用特征实例的 TraitSchemaEngine 的指针。
返回值
如果商店与给定的 TraitPath 相交,则为 true;否则为 false。

IsEmpty

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsEmpty()

详细信息
返回值
如果商店为空,则返回 true;否则为 false。

IsFull

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsFull()

详细信息
返回值
如果商店已满,则返回 true;否则为 false。

IsItemFailed

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsItemFailed(
  size_t aIndex
) const 

IsItemInUse

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsItemInUse(
  size_t aIndex
) const 

IsItemValid

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsItemValid(
  size_t aIndex
) const 

IsPresent

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsPresent(
  const TraitPath & aItem
) const 

检查商店中是否已存在指定的 TraitPath

详细信息
参数
[in] aItem
要查找的 TraitPath
返回值
如果商店包含 aItem,则返回 true。

IsTraitPresent

bool nl::Weave::Profiles::DataManagement_Current::TraitPathStore::IsTraitPresent(
  TraitDataHandle aDataHandle
) const 

详细信息
参数
[in] aDataHandle
要查找的 TraitDataHandle。
返回值
如果存储区包含一个或多个引用给定 TraitDataHandle 的路径,则返回 true

RemoveItem

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::RemoveItem(
  const TraitPath & aItem
)

RemoveItemAt

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::RemoveItemAt(
  size_t aIndex
)

RemoveTrait

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::RemoveTrait(
  TraitDataHandle aDataHandle
)

移除所有引用给定 TraitDataHandle 的 TraitPath。

详细信息
参数
[in] aDataHandle
TraitDataHandle

SetFailed

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::SetFailed(
  size_t aIndex
)

SetFailed

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::SetFailed()

将所有 TraitPaths 标记为失败。

SetFailedTrait

void nl::Weave::Profiles::DataManagement_Current::TraitPathStore::SetFailedTrait(
  TraitDataHandle aDataHandle
)

将引用给定 TraitDataHandle 的所有 TraitPath 标记为失败。

详细信息
参数
aDataHandle
要查找的 TraitDataHandle。

TraitPathStore

 nl::Weave::Profiles::DataManagement_Current::TraitPathStore::TraitPathStore()

构造函数为空。