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 が 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{
|
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)