透過集合功能整理內容 你可以依據偏好儲存及分類內容。

nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>

包含資源 ID 的結構。

總結

ResourceIdentifier 可以是特定類型的 64 位元物件 ID,也可以是 UUID。外部編碼時,可支援下列表示法:

無符號的 64 位元整數,對應至 DEVICE 類型的一般物件,且格式為 ID 指定

通用的表示法,編碼為 10 位元組的位元組字串。前兩個八位字段的數據類型為 16 位小端整體整數,其剩 8 個字號為一個小端序 64 位數據 ID 設置。

資源 ID 也包含在整個 WDM 程式碼中存在的慣例:空白的 ResourceIdentifier 與 DEVICE 的節點 ID 對應,且針對最常見用途提供了建構函式。

建構函式和解構程式

ResourceIdentifier()
建構對應至未指定 ResourceID 的 ResourceIdentifier
ResourceIdentifier(const uint64_t & aNodeId)
根據特定的 ANodeId 建構 DEVICE 類型的 ResourceIdentifier
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
以指定 ID 建構指定類型的 ResourceIdentifier
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
以指定 ID 建構指定類型的 ResourceIdentifier

公開類型

@125{
  RESOURCE_TYPE_RESERVED = 0
}
列舉
@126 列舉
定義參照「'self'」的 NodeId 的特殊值。
@127 列舉

公開屬性

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

公開函式

FromString(const char *inBuffer, size_t inBufferLen)
將資源的標準字串表示剖析為資源物件。
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
將資源的標準字串表示剖析為資源物件。
FromTLV(nl::Weave::TLV::TLVReader & aReader)
ResourceIdentifierTLV 表示法序列化為物件。
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
ResourceIdentifierTLV 表示法序列化為物件。
GetResourceId() const
uint64_t
用來擷取 ResourceId 的存取函式。
GetResourceType() const
uint16_t
用來擷取 ResourceType 的存取者函式。
ResourceTypeAsString(void) const
const char *
產生 ResourceType 的字串表示方式。
ToString(char *buffer, size_t bufferLen)
ResourceIdentifier 轉換為可列印的字串。
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
使用內容路徑 Path::ResourceID 標記將資源序列化為 TLV 表示法。
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
使用指定標記將資源序列化為 TLV 表示法。

公開的靜態函式

ResourceTypeAsString(uint16_t aResourceType)
const char *
產生資源類型的字串表示。

好友課程

operator==
friend bool

公開類型

@125

 @125
屬性
RESOURCE_TYPE_RESERVED

預留的資源類型。

系統選擇列舉,使其不會與 Schema::Weave:::Common::ResourceType 列舉的列舉值發生衝突。目前,RESERVED 資源類型可以使用兩個 ResourceId 值:kNodeIdNotSpecified 代表與單一 ResourceIdentifier 對應的單位,而 SELF_NODE_ID 會對應至要從任何其他表示法重新對應到 SELF 的資源。

@126

 @126

定義參照「'self'」的 NodeId 的特殊值。

在特定的 WDM 互動中,如果為資源自己設定一個值,即可壓縮該資訊,因為該值與 Weave 中裝置的裝置的節點節點 ID 重複。

@127

 @127

公開屬性

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

公開函式

來源字串

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

將資源的標準字串表示剖析為資源物件。

將資源的標準字串表示轉換成資源物件。請注意,只有一部分資源可以表示為字串,尤其是 Weave 中的參照實作只能剖析 ResourceTypeEnum 中呈現的標準類型資源。

詳細資料
參數
[in] inBuffer
包含要剖析資源 ID 的緩衝區
[in] inBufferLen
要剖析的字串長度 (以位元組為單位)

來源字串

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

將資源的標準字串表示剖析為資源物件。

將資源的標準字串表示轉換成資源物件。請注意,只有一部分資源可以表示為字串,尤其是 Weave 中的參照實作只能剖析 ResourceTypeEnum 中呈現的標準類型資源。

詳細資料
參數
[in] inBuffer
包含要剖析資源 ID 的緩衝區
[in] inBufferLen
要剖析的字串長度 (以位元組為單位)
[in] aSelfNodeId
64 位元編號,指出要對應至 SELF_NODE_ID 的裝置 ID

寄件者:TLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader
)

ResourceIdentifierTLV 表示法序列化為物件。

詳細資料
參數
[in] aReader
TLV 讀卡機位於 ResourceIdentifier 元素上
傳回
WEAVE_NO_ERROR 成功。如果無法正確讀取 ResourceIdentifier,TTVreader 就會發生錯誤。

寄件者:TLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

ResourceIdentifierTLV 表示法序列化為物件。

詳細資料
參數
[in] aReader
TLV 讀卡機位於 ResourceIdentifier 元素上
[in] aSelfNodeId
將 64 位元的 ResourceID (可序列化序列化重新對應到 SELF_NODE_ID)
傳回
WEAVE_NO_ERROR 成功。如果無法正確讀取 ResourceIdentifier,TTVreader 就會發生錯誤。

取得資源 ID

uint64_t GetResourceId() const 

用來擷取 ResourceId 的存取函式。

取得資源類型

uint16_t GetResourceType() const 

用來擷取 ResourceType 的存取者函式。

資源識別碼

 ResourceIdentifier()

建構對應至未指定 ResourceID 的 ResourceIdentifier

未指定的資源 ID 是由 RESERVED 資源類型和 kNodeIdNotSpeficied 資源所組成的組合。

資源識別碼

 ResourceIdentifier(
  const uint64_t & aNodeId
)

根據特定的 ANodeId 建構 DEVICE 類型的 ResourceIdentifier

詳細資料
參數
[in] aNodeId
指定資源 ID 的 NodeId

資源識別碼

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

以指定 ID 建構指定類型的 ResourceIdentifier

詳細資料
參數
[in] aResourceType
要命名的資源類型
[in] aResourceId
要命名的資源 ID

資源識別碼

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

以指定 ID 建構指定類型的 ResourceIdentifier

詳細資料
參數
[in] aResourceType
要命名的資源類型
[in] aResourceId
要命名的資源 ID,以位元組陣列表示
[in] aResourceIdLen
ID 的長度 (以位元組為單位)

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

產生 ResourceType 的字串表示方式。

轉換的資源類型是 ResourceTypeEnum.h 中列舉的資源類型,以及 0 (對應至 RESOURCE_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

ResourceIdentifier 轉換為可列印的字串。

詳細資料
參數
[in] buffer
要列印的緩衝區
[in] bufferLen
緩衝區長度

倫敦

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

使用內容路徑 Path::ResourceID 標記將資源序列化為 TLV 表示法。

詳細資料
參數
[in] aWriter
TLV 寫入者,將 ResourceIdentifier 序列化為

倫敦

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

使用指定標記將資源序列化為 TLV 表示法。

詳細資料
參數
[in] aWriter
TLV 寫入者,將 ResourceIdentifier 序列化為
[in] aTag
為序列化 ResourceIdentifier 命名的標記

公開的靜態函式

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

產生資源類型的字串表示。

轉換的資源類型是 ResourceTypeEnum.h 中列舉的資源類型,以及 0 (對應至 RESOURCE_TYPE_RESERVED)

詳細資料
參數
[in] aResourceType
要轉換成字串表示法的資源類型列舉。

好友課程

運算子 =

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)