Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

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{
  RESOURCE_TYPE_RESERVED = 0
}
列挙型
@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 で表される正規型のリソースのみが解析されます。

詳細
パラメータ
[in] inBuffer
解析されるリソース ID を含むバッファ
[in] inBufferLen
解析される文字列の長さ(バイト単位)

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

リソースの正規文字列表現をリソース オブジェクトに解析します。

リソースの正規文字列表現をリソース オブジェクトに変換します。Weave のリファレンス実装では、リソースのサブセットのみを文字列として表すことができます。ResourceTypeEnum で表される正規型のリソースのみが解析されます。

詳細
パラメータ
[in] inBuffer
解析されるリソース ID を含むバッファ
[in] inBufferLen
解析される文字列の長さ(バイト単位)
[in] aSelfNodeId
SELF_NODE_ID にマッピングするデバイス ID を示す 64 ビットの ID

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader
)

TLV 表現の ResourceIdentifier をこのオブジェクトにシリアル化解除します。

詳細
パラメータ
[in] aReader
ResourceIdentifier 要素上に配置された TLV リーダー
戻り値
成功時、WEAVE_NO_ERRORResourceIdentifier が正しく読み取られない場合に TLVReader からのエラー。

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

TLV 表現の ResourceIdentifier をこのオブジェクトにシリアル化解除します。

詳細
パラメータ
[in] aReader
ResourceIdentifier 要素上に配置された TLV リーダー
[in] aSelfNodeId
シリアル化された表現から SELF_NODE_ID に再マッピングされる 64 ビットの ResourceID
戻り値
成功時、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 を作成します。

詳細
パラメータ
[in] aNodeId
指定されたリソース ID の NodeId

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

指定された ID で、指定したタイプの ResourceIdentifier を作成します。

詳細
パラメータ
[in] aResourceType
名前を付けるリソースのタイプ
[in] aResourceId
名前を付けるリソースの ID

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

指定された ID で、指定したタイプの ResourceIdentifier を作成します。

詳細
パラメータ
[in] aResourceType
名前を付けるリソースのタイプ
[in] aResourceId
バイトの配列で表される、名前を付けるリソースの ID
[in] aResourceIdLen
ID の長さ(バイト単位)

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

ResourceType の文字列表現を生成します。

変換されるリソースタイプは、ResourceTypeEnum.h と 0(RESOURCE_TYPE_RESERVED に対応する)に列挙されているものです。

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

ResourceIdentifier を出力可能な文字列に変換します。

詳細
パラメータ
[in] buffer
出力先のバッファ
[in] bufferLen
バッファの長さ

ToLL

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

コンテキスト Path::ResourceID タグを使用して、リソースを TLV 表現にシリアル化します。

詳細
パラメータ
[in] aWriter
ResourceIdentifier をシリアル化する TLV ライター

ToLL

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

指定したタグを使用して、TLV 表現にリソースをシリアル化します。

詳細
パラメータ
[in] aWriter
ResourceIdentifier をシリアル化する TLV ライター
[in] aTag
シリアル化された ResourceIdentifier に名前を付けるタグ

静的パブリック関数

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

リソースタイプの文字列表現を生成します。

変換されるリソースタイプは、ResourceTypeEnum.h と 0(RESOURCE_TYPE_RESERVED に対応する)に列挙されているものです。

詳細
パラメータ
[in] aResourceType
文字列表現に変換されるリソースタイプの列挙型。

友達クラス

オペレーター==

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)