nl::Weave::Profiles::NetworkProvisioning::NetworkInfo

#include <src/lib/profiles/network-provisioning/NetworkInfo.h>

NetworkProvisioning プロファイルを介して通信されるペイロードをシリアル化および逆シリアル化するためのユーティリティ クラス。ネットワークの検出と構成に関する情報をカプセル化します。

概要

このクラスは、ネットワーク プロビジョニング情報の中間ストレージ(情報の最終的なストアとネットワーク ペイロードの中間)に依存し、動的なメモリ管理を使用して、生成されるオブジェクトに柔軟なランタイムを提供します。そのため、このクラスは最も制約のある環境には適していませんが、大規模なシステムで使用できる可能性があります。

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

NetworkInfo()
~NetworkInfo()

公開タイプ

@210 enum
@211 enum

パブリック属性

Hidden
bool
ネットワークが非表示かどうか。
NetworkId
int64_t
デバイスによってネットワークに割り当てられたネットワーク ID。指定されていない場合は -1。
NetworkType
ネットワークのタイプ。
ThreadChannel
uint8_t
Thread ネットワークが動作する現在のチャンネル(現在は [11..26])、または kThreadChannel_NotSpecified。
ThreadExtendedPANId
uint8_t *
Thread 拡張 PAN ID。
ThreadNetworkKey
uint8_t *
Thread マスター ネットワーク キー。指定されていない場合は NULL。
ThreadNetworkName
char *
Thread ネットワークの名前。指定されていない場合は NULL。
ThreadPANId
uint32_t
16 ビットスレッドの PAN ID または kThreadPANId_NotSpecified。
ThreadPSKc
uint8_t *
コミッショナーのスレッド事前共有キー。指定されていない場合は NULL。
WiFiKey
uint8_t *
Wi-Fi キー。指定されていない場合は NULL。
WiFiKeyLen
uint32_t
Wi-Fi キーの長さ(バイト単位)。
WiFiMode
Wi-Fi ネットワークの動作モード。
WiFiRole
Wi-Fi ネットワーク上でデバイスが果たす役割。
WiFiSSID
char *
Wi-Fi SSID、指定されていない場合は NULL。
WiFiSecurityType
Wi-Fi セキュリティの種類。
WirelessSignalStrength
int16_t
ネットワークの電波強度。利用できないか、該当しない場合は INT16_MIN です。

パブリック関数

Clear(void)
void
デフォルトにリセットし、この NetworkInfo オブジェクト内のすべての値を解放します。
CopyTo(NetworkInfo & dest)
この NetworkInfo オブジェクトの内容を引数の内容のディープコピーに置き換えます。
Decode(nl::Weave::TLV::TLVReader & reader)
この NetworkInfo オブジェクトのコンテンツを TLV 表現からシリアル化解除します。
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
この NetworkInfo オブジェクトのコンテンツを TLV 表現にシリアル化します。
MergeTo(NetworkInfo & dest)
この NetworkInfo オブジェクトの内容を引数の内容のディープコピーと結合します。

静的パブリック関数

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
NetworkInfo 要素のリストを TLV 表現からシリアル化解除します。
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
NetworkInfo オブジェクトの配列を TLV 表現にシリアル化します。
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t arrayLen, const NetworkInfo *elemArray, ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType, uint8_t encodeFlags, uint16_t & encodedElemCount)
NetworkInfo オブジェクトの配列を TLV 表現にシリアル化し、特定のタイプのネットワークのみを選択します。

公開タイプ

@210

 @210

@211

 @211

パブリック属性

非表示

bool Hidden

ネットワークが非表示かどうか。

NetworkId

int64_t NetworkId

デバイスによってネットワークに割り当てられたネットワーク ID。指定されていない場合は -1。

NetworkType

::nl::Weave::Profiles::NetworkProvisioning::NetworkType NetworkType

ネットワークのタイプ。

ThreadChannel

uint8_t ThreadChannel

Thread ネットワークが動作する現在のチャンネル(現在は [11..26])、または kThreadChannel_NotSpecified。

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Thread 拡張 PAN ID。

これは、クラスが所有する、動的に割り当てられる 8 つのオクテクトの配列です。オブジェクトの Clear() を呼び出す条件で破棄されます。

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Thread マスター ネットワーク キー。指定されていない場合は NULL。

これは動的に割り当てられる任意のオクテットの配列で、オブジェクトに対して Clear() を呼び出す任意の条件で Destroyed クラスが所有します。

ThreadNetworkName

char * ThreadNetworkName

Thread ネットワークの名前。指定されていない場合は NULL。

これは、クラスが所有する、NUL 終端の動的に割り当てられる C 文字列です。オブジェクトの Clear() を呼び出す条件で破棄されます。

ThreadPANId

uint32_t ThreadPANId

16 ビットスレッドの PAN ID または kThreadPANId_NotSpecified。

ThreadPSKc

uint8_t * ThreadPSKc

コミッショナーのスレッド事前共有キー。指定されていない場合は NULL。

これは動的に割り当てられる任意のオクテットの配列で、オブジェクトに対して Clear() を呼び出す任意の条件で Destroyed クラスが所有します。

WiFiKey

uint8_t * WiFiKey

Wi-Fi キー。指定されていない場合は NULL。

クラスが所有し、WiFiKeyLen で指定された長さの、動的に割り当てられる任意のオクテットの配列です。オブジェクトの Clear() を呼び出す条件で破棄されます。

WiFiKeyLen

uint32_t WiFiKeyLen

Wi-Fi キーの長さ(バイト単位)。

WiFiMode

::nl::Weave::Profiles::NetworkProvisioning::WiFiMode WiFiMode

Wi-Fi ネットワークの動作モード。

WiFiRole

::nl::Weave::Profiles::NetworkProvisioning::WiFiRole WiFiRole

Wi-Fi ネットワーク上でデバイスが果たす役割。

WiFiSSID

char * WiFiSSID

Wi-Fi SSID、指定されていない場合は NULL。

これは、クラスが所有する、NUL 終端の動的に割り当てられる C 文字列です。オブジェクトの Clear() を呼び出す条件で破棄されます。

WiFiSecurityType

::nl::Weave::Profiles::NetworkProvisioning::WiFiSecurityType WiFiSecurityType

Wi-Fi セキュリティの種類。

WirelessSignalStrength

int16_t WirelessSignalStrength

ネットワークの電波強度。利用できないか、該当しない場合は INT16_MIN です。

パブリック関数

クリア

void Clear(
  void
)

デフォルトにリセットし、この NetworkInfo オブジェクト内のすべての値を解放します。

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

この NetworkInfo オブジェクトの内容を引数の内容のディープコピーに置き換えます。

詳細
パラメータ
[in] dest
このオブジェクトにコピーされる情報を含む NetworkInfo オブジェクト。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_NOT_IMPLEMENTED
プラットフォームが malloc または free をサポートしていない場合。
WEAVE_ERROR_NO_MEMORY
メモリ割り当ての失敗時。

Decode

WEAVE_ERROR Decode(
  nl::Weave::TLV::TLVReader & reader
)

この NetworkInfo オブジェクトのコンテンツを TLV 表現からシリアル化解除します。

詳細
パラメータ
[in] reader
ネットワーク情報を含む構造要素に配置された TLVReader。
戻り値
WEAVE_NO_ERROR: 成功すると、ネットワーク プロビジョニング プロファイルに準拠していない要素の WEAVE_ERROR_INVALID_TLV_ELEMENT、要素の誤ったデコードに関する TLV リーダーエラーのいずれか。

Encode

WEAVE_ERROR Encode(
  nl::Weave::TLV::TLVWriter & writer,
  uint8_t encodeFlags
) const 

この NetworkInfo オブジェクトのコンテンツを TLV 表現にシリアル化します。

詳細
パラメータ
[in] writer
オブジェクトがシリアル化される場所に配置される TLVWriter。この関数は、このオブジェクトが要素の配列の一部である場合は、このオブジェクトの匿名タグを出力します。スタンドアロン要素として出力された場合は、kTag_NetworkInformation のプロファイル タグを出力します。
[in] encodeFlags
NetworkInfo の認証情報をシリアル化するかどうかを制御するフラグ。
戻り値
WEAVE_NO_ERROR: 成功すると、ネットワーク プロビジョニング プロファイルに準拠していない要素の WEAVE_ERROR_INVALID_TLV_ELEMENT、要素の誤ったデコードに関する TLV リーダーエラーのいずれか。

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

この NetworkInfo オブジェクトの内容を引数の内容のディープコピーと結合します。

引数オブジェクトのデフォルト値以外の値がすべて、このオブジェクトの値を置き換えます。

詳細
パラメータ
[in] dest
このオブジェクトにコピーされる情報を含む NetworkInfo オブジェクト。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_NOT_IMPLEMENTED
プラットフォームが malloc または free をサポートしていない場合。
WEAVE_ERROR_NO_MEMORY
メモリ割り当ての失敗時。

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

静的パブリック関数

DecodeList

WEAVE_ERROR DecodeList(
  nl::Weave::TLV::TLVReader & reader,
  uint16_t & elemCount,
  NetworkInfo *& elemArray
)

NetworkInfo 要素のリストを TLV 表現からシリアル化解除します。

詳細
パラメータ
[in] reader
TLVReader は配列の先頭に配置されています。正常に復帰すると、ライターは配列の末尾より後に配置されます。
[in,out] elemCount
入力時に、TLVReader からシリアル化解除する要素の最大数。出力時に、ストリームから実際にシリアル化解除された要素の数。
[in,out] elemArray
シリアル化解除された NetworkInfo オブジェクトを含む NetworkInfo 要素の配列への参照。配列が NULL の場合は、以下の関数によって内部的に割り当てられます。それ以外の場合は、外部に割り当てられた配列に少なくとも elemCount オブジェクトが含まれているとみなされます。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_NOT_IMPLEMENTED
動的メモリ管理をサポートしていないプラットフォーム上で 使用できます
other
Decode() 関数から返されたエラー。

EncodeList

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t elemCount,
  const NetworkInfo *elemArray,
  uint8_t encodeFlags
)

NetworkInfo オブジェクトの配列を TLV 表現にシリアル化します。

配列は、TLV 表現内の匿名要素になります。

詳細
パラメータ
[in] writer
TLVWriter の適切な配置
[in] elemCount
elemArray 内の要素数。
[in] elemArray
シリアル化する NetworkInfo オブジェクトの配列。
[in] encodeFlags
NetworkInfo の認証情報をシリアル化するかどうかを制御するフラグ。
戻り値
WEAVE_NO_ERROR
成功時。
Other
Encode() 関数から返されたエラー。

EncodeList

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t arrayLen,
  const NetworkInfo *elemArray,
  ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType,
  uint8_t encodeFlags,
  uint16_t & encodedElemCount
)

NetworkInfo オブジェクトの配列を TLV 表現にシリアル化し、特定のタイプのネットワークのみを選択します。

詳細
パラメータ
[in] writer
TLVWriter の適切な配置
[in] arrayLen
elemArray 内の要素数。
[in] elemArray
シリアル化する NetworkInfo オブジェクトの配列。
[in] networkType
シリアル化する NetworkInfo オブジェクトの型
[in] encodeFlags
NetworkInfo の認証情報をシリアル化するかどうかを制御するフラグ。
[out] encodedElemCount
実際にシリアル化された要素の数。
戻り値
WEAVE_NO_ERROR
成功時。
Other
Encode() 関数から返されたエラー。