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 標示為失敗。

Structs

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()

詳細資料
傳回
傳回商店中的 TraitPaths 數量。

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:

  • 這兩個 TraitPaths 是相同的
  • 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
如果將 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 會彼此重疊:

  • 這兩個 TraitPaths 是相同的
  • TraitPaths 的其中一個,是另一個 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()

空白建構函式。