nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#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_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 リソースタイプに対して 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)