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 *
コミッショナーの Thread 事前共有キー。指定されていない場合は 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

コミッショナーの Thread 事前共有キー。指定されていない場合は 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()

静的パブリック関数

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() 関数から返されたエラー。