nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
封裝資源 ID 的結構。
摘要
ResourceIdentifier 可以是特定類型的通用 64 位元物件 ID,也可以是 UUID。從外部編碼時,系統支援下列表示法:
一個不帶正負號的 64 位元整數,對應於代表中所指定的 ID 的 DEVICE 類型一般物件
編碼為位元組字串 (10 個八位元) 的通用表示法。前兩個八位元會將資源類型編碼為 16 位元的小終端整數,其餘的 8 位元組會將資源 ID 編碼為小型結尾的 64 位元資源 ID。
ResourceIdentifier 還包含整個 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{
|
列舉 |
@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)
|
從 TLV 代表將 ResourceIdentifier 反序列化為此物件。
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
從 TLV 代表將 ResourceIdentifier 反序列化為此物件。
|
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
|
預留資源類型。 系統會選擇使用列舉,讓列舉不會與結構定義中的列舉值相衝突::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]
公開函式
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
將資源的標準字串表示法剖析為資源物件。
將資源的標準字串表示法轉換為資源物件。請注意,只有部分資源能夠以字串表示,特別是 Weave 中的參考實作只會剖析在 ResourceTypeEnum 中表示的標準類型資源。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
將資源的標準字串表示法剖析為資源物件。
將資源的標準字串表示法轉換為資源物件。請注意,只有部分資源能夠以字串表示,特別是 Weave 中的參考實作只會剖析在 ResourceTypeEnum 中表示的標準類型資源。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
從 TLV 代表將 ResourceIdentifier 反序列化為此物件。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
成功發生 WEAVE_NO_ERROR。如果無法正確讀取 ResourceIdentifier,則 TLVReader 發生錯誤。
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
從 TLV 代表將 ResourceIdentifier 反序列化為此物件。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
成功發生 WEAVE_NO_ERROR。如果無法正確讀取 ResourceIdentifier,則 TLVReader 發生錯誤。
|
GetResourceId
uint64_t GetResourceId() const
用於擷取 ResourceId 的存取子函式。
GetResourceType
uint16_t GetResourceType() const
用於擷取 ResourceType 的存取子函式。
ResourceIdentifier
ResourceIdentifier()
建構與未指定 ResourceID 相對應的 ResourceIdentifier。
未指定的資源 ID 是元組,其中包含具有 kNodeIdNotSpeficied 資源的 RESERVED 資源類型。
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
使用指定 ID 建構指定類型的 ResourceIdentifier。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
產生 ResourceType 的字串表示法。
轉換的資源類型是在 ResourceTypeEnum.h 和 0 中列舉的 (對應 RESOURCE_TYPE_RESERVED)
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
使用指定的標記將資源序列化為 TLV 表示法。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
公開的靜態函式
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
產生資源類型的字串表示法。
轉換的資源類型是在 ResourceTypeEnum.h 和 0 中列舉的 (對應 RESOURCE_TYPE_RESERVED)
詳細資料 | |||
---|---|---|---|
參數 |
|
好友課程
運算子==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)