nl::
  #include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
  リソースの ID をカプセル化する構造体。
概要
ResourceIdentifier は、特定のタイプの一般化された 64 ビット オブジェクト ID か、UUID のいずれかです。外部でエンコードする場合は、次の表現がサポートされます。
表現で指定された ID を持つ DEVICE 型の一般化されたオブジェクトに対応する符号なし 64 ビット整数。
10 オクテットのバイト文字列としてエンコードされた一般化された表現。最初の 2 つのオクテットはリソースタイプを 16 ビットのリトル エンディアン整数としてエンコードし、残りの 8 バイトは 64 ビットのリトル エンディアンのリソース ID をエンコードします。
ResourceIdentifier は、WDM コード全体に存在する規則も具体化しています。空の ResourceIdentifier はデバイスのノード 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{ | enum | 
| @126 | enum 「self」を参照する NodeId の特別な値を定義します。 | 
| @127 | enum | 
| パブリック属性 | |
|---|---|
| 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_tResourceId を取得するためのアクセサ関数。 | 
| GetResourceType() const  | uint16_tResourceType を取得するためのアクセサ関数。 | 
| 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 リソースタイプに対して 2 つの ResourceId 値を使用できます。kNodeIdNotSpecified は、ユニット化された ResourceIdentifier に対応し、SELF_NODE_ID は他の表現から SELF に再マッピングするリソースに対応します。 | 
@126
@126
「self」を参照する NodeId の特別な値を定義します。
特定の WDM インタラクションでは、リソースの値に self を指定することで、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 は、RESERVED リソースタイプと kNodeIdNotSpeficied リソースで構成されるタプルです。
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
指定された aNodeId に基づいて DEVICE タイプの ResourceIdentifier を作成します。
| 詳細 | |||
|---|---|---|---|
| パラメータ | 
 | ||
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
指定された ID で指定されたタイプの ResourceIdentifier を作成します。
| 詳細 | |||||
|---|---|---|---|---|---|
| パラメータ | 
 | ||||
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
コンテキストの Path::ResourceID タグを使用して、リソースを TLV 表現にシリアル化します。
| 詳細 | |||
|---|---|---|---|
| パラメータ | 
 | ||
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)