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

nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor

#include <src/lib/profiles/device-description/DeviceDescription.h>

Weave デバイスに関する説明が含まれています。

まとめ

コンストラクタとデストラクタ

WeaveDeviceDescriptor(void)

パブリック タイプ

@180{
  kMaxSerialNumberLength = 32,
  kMaxPairingCodeLength = 16,
  kMaxRendezvousWiFiESSID = 32,
  kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
列挙型
一部の属性の最大文字数を定義します。
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
列挙型
特定のデバイス機能を示すフィーチャー トグル。
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
列挙型
フラグのフィールド定義です。

パブリック属性

Day
uint8_t
デバイスの製造日(0 = 存在しない)
DeviceFeatures
uint32_t
特定のデバイス機能のサポートを示すビットフィールド。
DeviceId
uint64_t
Weave デバイス ID (0 = 存在しない)
FabricId
uint64_t
デバイスが属する Weave ファブリックの ID(0 = 存在しない)
Flags
uint8_t
デバイスに関する追加情報を含むビット フィールド。
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
デバイスの製造月数(1 = 1 月)
PairingCode[kMaxPairingCodeLength+1]
char
デバイスのペア設定コード(NUL 終了、長さ 0 = 存在しない)
PairingCompatibilityVersionMajor
uint16_t
主要なデバイスのペア設定ソフトウェアの互換性のバージョンです。
PairingCompatibilityVersionMinor
uint16_t
デバイスのペア設定ソフトウェアのマイナー バージョン
Primary802154MACAddress[8]
uint8_t
プライマリ 802.15.4 インターフェースの MAC アドレス(ビッグ エンディアン、すべてゼロ = 存在しない)
PrimaryWiFiMACAddress[6]
uint8_t
プライマリ Wi-Fi インターフェースの MAC アドレス(ビッグ エンディアン、すべて 0 = 存在しない)
ProductId
uint16_t
デバイスの製品コード(0 = 存在しない)
ProductRevision
uint16_t
デバイスの製品リビジョン(0 = 存在しない)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
デバイスの Wi-Fi ランデブー ネットワークの ESSID(NUL 終端、0 長さ = 存在しない)
SerialNumber[kMaxSerialNumberLength+1]
char
デバイスのシリアル番号(NUL、終了 0 = 存在しない)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
アクティブなソフトウェア バージョン(NUL、終了 0 = 存在しない)
VendorId
uint16_t
デバイスのベンダーコード(0 = 存在しない)
Year
uint16_t
デバイスの製造年(有効期間: 2001 ~ 2099)

パブリック関数

Clear(void)
void
デバイスの説明を削除します。

静的パブリック関数

Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
提供されたデータバッファの内容を Weave Device Descriptor オブジェクトにデコードします。
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
提供された TLV データバッファの内容を Weave Device Descriptor オブジェクトにデコードします。
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
事前に初期化された TLVReader を使用してデバイスの説明をデコードします。
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
指定されたテキストデータ バッファの内容を Weave Device Descriptor オブジェクトにデコードします。
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
提供されたデバイス記述子を、指定されたバッファに書き込まれる Weave TLV としてエンコードします。
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
提供されたデバイス記述子を、事前に初期化された TLVWriter オブジェクトを使用して記述された Weave TLV としてエンコードします。
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
与えられたデバイス記述子を、指定されたバッファに書き込まれたテキストとしてエンコードします。
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
指定されたバッファにゼロのみが含まれているかどうかを確認します。

パブリック タイプ

180

 @180

一部の属性の最大文字数を定義します。

Properties
kMaxPairingCodeLength

ペア設定コードの最大長。

kMaxRendezvousWiFiESSID

ランデブーの長さの最大 Wi-Fi ESSID。

kMaxSerialNumberLength

シリアル番号の最大長。

kMaxSoftwareVersionLength

ソフトウェアの最大バージョン長。

181

 @181

特定のデバイス機能を示すフィーチャー トグル。

Properties
kFeature_HomeAlarmLinkCapable

ホーム アラーム パネルへの接続をサポートする Google Nest Protect を示します。

kFeature_LinePowered

電源が必要なデバイスを示します。

182

 @182

フラグのフィールド定義です。

Properties
kFlag_IsRendezvousWiFiESSIDSuffix

RendezvousWiFiESSID の値は、デバイスの Wi-Fi ランデブー ネットワークの ESSID の末尾に表示されるサフィックス文字列であることを示します。

パブリック属性

Day

uint8_t Day

デバイスの製造日(0 = 存在しない)

DeviceFeatures

uint32_t DeviceFeatures

特定のデバイス機能のサポートを示すビットフィールド。

DeviceId

uint64_t DeviceId

Weave デバイス ID (0 = 存在しない)

ファブリック ID

uint64_t FabricId

デバイスが属する Weave ファブリックの ID(0 = 存在しない)

フラグ

uint8_t Flags

デバイスに関する追加情報を含むビット フィールド。

ManufacturingDate(製造日)

struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate

uint8_t Month

デバイスの製造月数(1 = 1 月)

ペア設定コード

char PairingCode[kMaxPairingCodeLength+1]

デバイスのペア設定コード(NUL 終了、長さ 0 = 存在しない)

PairingCompatVersionMajor

uint16_t PairingCompatibilityVersionMajor

主要なデバイスのペア設定ソフトウェアの互換性のバージョンです。

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

デバイスのペア設定ソフトウェアのマイナー バージョン

プライマリ 802154MAC アドレス

uint8_t Primary802154MACAddress[8]

プライマリ 802.15.4 インターフェースの MAC アドレス(ビッグ エンディアン、すべてゼロ = 存在しない)

メイン Wi-FiMAC アドレス

uint8_t PrimaryWiFiMACAddress[6]

プライマリ Wi-Fi インターフェースの MAC アドレス(ビッグ エンディアン、すべて 0 = 存在しない)

ProductId

uint16_t ProductId

デバイスの製品コード(0 = 存在しない)

ProductRevision

uint16_t ProductRevision

デバイスの製品リビジョン(0 = 存在しない)

ランデブー WiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

デバイスの Wi-Fi ランデブー ネットワークの ESSID(NUL 終端、0 長さ = 存在しない)

シリアル番号

char SerialNumber[kMaxSerialNumberLength+1]

デバイスのシリアル番号(NUL、終了 0 = 存在しない)

ソフトウェア バージョン

char SoftwareVersion[kMaxSoftwareVersionLength+1]

アクティブなソフトウェア バージョン(NUL、終了 0 = 存在しない)

ベンダー ID

uint16_t VendorId

デバイスのベンダーコード(0 = 存在しない)

Year

uint16_t Year

デバイスの製造年(有効期間: 2001 ~ 2099)

パブリック関数

クリア

void Clear(
  void
)

デバイスの説明を削除します。

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

静的パブリック関数

Decode

WEAVE_ERROR Decode(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

提供されたデータバッファの内容を Weave Device Descriptor オブジェクトにデコードします。

詳細
パラメータ
[in] data
テキストまたは TLV でエンコードされた Weave Device Descriptor データを含むバッファへのポインタ。
[in] dataLen
指定されたバッファの長さ。
[out] outDesc
代入されるデバイス記述子オブジェクトへの参照。
戻り値
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
指定されたバッファが無効である場合。
WEAVE_NO_ERROR
成功
other
その他の Weave またはプラットフォーム固有のエラーコードは、TLV のデコードを妨げるエラーが発生したことを示します。

デコード LV

WEAVE_ERROR DecodeTLV(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

提供された TLV データバッファの内容を Weave Device Descriptor オブジェクトにデコードします。

詳細
パラメータ
[in] data
テキストでエンコードされた Weave Device Descriptor データを含むバッファへのポインタ。
[in] dataLen
指定されたバッファの長さ。
[out] outDesc
代入されるデバイス記述子オブジェクトへの参照。
戻り値
WEAVE_ERROR_WRONG_TLV_TYPE
デバイス説明 TLV 以外の場合、
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
デバイスの説明の後に TLV データが増えた場合。
WEAVE_NO_ERROR
成功
other
その他の Weave またはプラットフォーム固有のエラーコードは、TLV のエンコードを妨げるエラーが発生したことを示します。

デコード LV

WEAVE_ERROR DecodeTLV(
  nl::Weave::TLV::TLVReader & reader,
  WeaveDeviceDescriptor & outDesc
)

事前に初期化された TLVReader を使用してデバイスの説明をデコードします。

詳細
パラメータ
[in] reader
事前に初期化された TLVReader への参照。
[out] outDesc
代入されるデバイス記述子オブジェクトへの参照。
戻り値
WEAVE_ERROR_INVALID_TLV_ELEMENT
TLV データに無効なデバイスの説明が見つかった場合。
WEAVE_NO_ERROR
成功
other
その他の Weave またはプラットフォーム固有のエラーコード。これにより、TLV のデコードがエラーになったことを示します。

デコード テキスト

WEAVE_ERROR DecodeText(
  const char *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

指定されたテキストデータ バッファの内容を Weave Device Descriptor オブジェクトにデコードします。

詳細
パラメータ
[in] data
テキストでエンコードされた Weave Device Descriptor データを含むバッファへのポインタ。
[in] dataLen
指定されたバッファの長さ。
[out] outDesc
代入されるデバイス記述子オブジェクトへの参照。
戻り値
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
エンコードされたデータのバージョンがサポートされていない場合。
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
エンコードされたデータの形式が正しくありません。
WEAVE_ERROR_INCORRECT_STATE
デコーダによって一貫性のない状態が発生した場合。
WEAVE_ERROR_BUFFER_TOO_SMALL
デコード中にバッファの上限に達した場合。
WEAVE_NO_ERROR
成功

エンコード LV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  uint8_t *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

提供されたデバイス記述子を、指定されたバッファに書き込まれる Weave TLV としてエンコードします。

詳細
パラメータ
[in] desc
エンコードする Weave デバイス記述子への参照。
[out] buf
エンコードされたテキストが書き込まれるバッファへのポインタ。
[in] bufLen
指定したバッファの長さ。
[out] outEncodedLen
バッファに書き込まれた文字数で上書きされる長さ変数への参照。
戻り値
WEAVE_NO_ERROR
成功
other
その他の Weave またはプラットフォーム固有のエラーコードは、TLV のエンコードを妨げるエラーが発生したことを示します。

エンコード LV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  nl::Weave::TLV::TLVWriter & writer
)

提供されたデバイス記述子を、事前に初期化された TLVWriter オブジェクトを使用して記述された Weave TLV としてエンコードします。

デバイスの説明をより大きな TLV 出力に追加するために使用します。

詳細
パラメータ
[in] desc
エンコードする Weave デバイス記述子への参照。
[in] writer
使用する事前初期化済み TLVWriter オブジェクトへの参照。
戻り値
WEAVE_NO_ERROR
成功
other
その他の Weave またはプラットフォーム固有のエラーコードは、TLV のエンコードを妨げるエラーが発生したことを示します。

エンコード テキスト

WEAVE_ERROR EncodeText(
  const WeaveDeviceDescriptor & desc,
  char *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

与えられたデバイス記述子を、指定されたバッファに書き込まれたテキストとしてエンコードします。

詳細
パラメータ
[in] desc
エンコードする Weave デバイス記述子への参照。
[out] buf
エンコードされたテキストが書き込まれるバッファへのポインタ。
[in] bufLen
指定したバッファの長さ。
[out] outEncodedLen
バッファに書き込まれた文字数で上書きされる長さ変数への参照。
戻り値
WEAVE_ERROR_BUFFER_TOO_SMALL
指定されたバッファが生成されたテキストの説明に対して小さすぎる場合。
WEAVE_ERROR_INVALID_ARGUMENT
記述子フィールドが無効です。
WEAVE_NO_ERROR
成功

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

指定されたバッファにゼロのみが含まれているかどうかを確認します。

詳細
パラメータ
[in] buf
バッファへのポインタ。
[in] len
バッファの長さ。
戻り値
TRUE
バッファに 0 のみが含まれている場合。
FALSE
バッファにゼロ以外の値が含まれている場合。