nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
リソースの ID をカプセル化する構造。
まとめ
ResourceIdentifier は、特定の型の汎用 64 ビット オブジェクト ID または UUID のいずれかです。外部でエンコードする場合、次の表現がサポートされています。
DEVICE 型の一般化されたオブジェクトに対応する符号なし 64 ビット整数(指定された ID を使用)
10 オクテットのバイト文字列としてエンコードされた一般表現。最初の 2 つのオクテットはリソースタイプを 16 ビットのリトル エンディアン整数としてエンコードし、残りの 8 バイトはリトル エンディアン 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
|
列挙型 &Id_39;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
Properties | |
---|---|
RESOURCE_TYPE_RESERVED
|
予約済みのリソースタイプ。 Enum は、Schema::Weave:::Common::ResourceType 列挙型の列挙値と競合しないように選択されます。現時点で、RESERVED リソースタイプには 2 つの ResourceId 値を使用できます。kNodeIdNotSpecified は単一化された ResourceIdentifier に対応し、SELF_NODE_ID は他の表現から SELF に再マッピングされるリソースに対応します。 |
126
@126
&Id_39;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_ERRORResourceIdentifier が正しく読み取られない場合に TLVReader からのエラー。
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
TLV 表現の ResourceIdentifier をこのオブジェクトにシリアル化解除します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
成功時、WEAVE_NO_ERRORResourceIdentifier が正しく読み取られない場合に TLVReader からのエラー。
|
GetResourceId
uint64_t GetResourceId() const
ResourceId を取得するためのアクセサ関数。
GetResourceType
uint16_t GetResourceType() const
ResourceType を取得するためのアクセサ関数。
ResourceIdentifier
ResourceIdentifier()
未指定の ResourceID に対応する ResourceIdentifier を作成します。
未指定のリソース ID は、kER_ED リソースタイプと 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 )
ToLL
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
コンテキスト Path::ResourceID タグを使用して、リソースを TLV 表現にシリアル化します。
詳細 | |||
---|---|---|---|
パラメータ |
|
ToLL
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)