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
將所有 TraitPath 標示為失敗。
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
如果在索引中加入 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()

將所有 TraitPath 標示為失敗。

SetFailedTrait

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

將所有參照指定 TraitDataHandle 的 TraitPath 標示為失敗。

詳細說明
參數
aDataHandle
要尋找的 TraitDataHandle。

TraitPathStore

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

空白的建構函式。