nl::매트::프로필::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
스레드 네트워크가 작동하는 현재 채널 (현재 [11..26]) 또는 kThreadChannel_NotSpecified입니다.
ThreadExtendedPANId
uint8_t *
대화목록 확장 PAN ID
ThreadNetworkKey
uint8_t *
스레드 마스터 네트워크 키 또는 지정되지 않은 경우 NULL입니다.
ThreadNetworkName
char *
스레드 네트워크의 이름 또는 지정되지 않은 경우 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

네트워크 숨김 여부입니다.

네트워크 ID

int64_t NetworkId

기기에서 네트워크에 할당한 네트워크 ID입니다. 지정하지 않으면 -1입니다.

NetworkType

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

네트워크 유형입니다.

스레드 채널

uint8_t ThreadChannel

스레드 네트워크가 작동하는 현재 채널 (현재 [11..26]) 또는 kThreadChannel_NotSpecified입니다.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

대화목록 확장 PAN ID

이 클래스는 8개의 옥텟이 동적으로 할당된 배열이며 클래스가 소유합니다. 객체에서 Clear()를 호출하는 모든 조건에서 폐기됩니다.

스레드 네트워크 키

uint8_t * ThreadNetworkKey

스레드 마스터 네트워크 키 또는 지정되지 않은 경우 NULL입니다.

이는 객체에서 Clear()를 호출하는 모든 조건에서 Destroyed 클래스에서 소유한 임의의 8진수의 배열입니다.

스레드 네트워크 이름

char * ThreadNetworkName

스레드 네트워크의 이름 또는 지정되지 않은 경우 NULL입니다.

이 클래스는 클래스가 소유한 NUL 종료, 동적으로 할당된 C 문자열입니다. 객체에서 Clear()를 호출하는 모든 조건에서 폐기됩니다.

스레드PANId

uint32_t ThreadPANId

16비트 스레드 PAN ID 또는 kThreadPANId_NotSpecified입니다.

스레드 PSKc

uint8_t * ThreadPSKc

수수료에 대한 스레드 사전 공유 키 또는 지정되지 않은 경우 NULL입니다.

이는 객체에서 Clear()를 호출하는 모든 조건에서 Destroyed 클래스에서 소유한 임의의 8진수의 배열입니다.

Wi-Fi 키

uint8_t * WiFiKey

Wi-Fi 키 또는 지정되지 않은 경우 NULL입니다.

이 메서드는 클래스가 소유한 임의의 8진수의 동적 할당 배열로, 길이는 WiFiKeyLen에 의해 지정됩니다. 객체에서 Clear()를 호출하는 모든 조건에서 폐기됩니다.

Wi-Fi 키렌

uint32_t WiFiKeyLen

Wi-Fi 키의 길이(바이트)입니다.

Wi-Fi 모드

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

Wi-Fi 네트워크의 작동 모드입니다.

Wi-Fi 역할

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

Wi-Fi 네트워크에서 기기가 수행하는 역할입니다.

Wi-Fi

char * WiFiSSID

Wi-Fi SSID 또는 지정되지 않은 경우 NULL

이 클래스는 클래스가 소유한 NUL 종료, 동적으로 할당된 C 문자열입니다. 객체에서 Clear()를 호출하는 모든 조건에서 폐기됩니다.

Wi-Fi 보안 유형

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

Wi-Fi 보안 유형입니다.

무선 신호 강도

int16_t WirelessSignalStrength

네트워크의 신호 강도입니다. 사용 가능하거나 적용할 수 없는 경우 INT16_MIN입니다.

공개 함수

삭제

void Clear(
  void
)

기본값으로 재설정하고 이 NetworkInfo 객체 내의 모든 값을 해제합니다.

복사 대상

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

NetworkInfo 객체의 내용을 인수 콘텐츠의 딥 사본으로 바꿉니다.

세부정보
매개변수
[in] dest
이 객체에 복사할 정보가 포함된 NetworkInfo 객체입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_NOT_IMPLEMENTED
플랫폼에서 malloc 또는 free를 지원하지 않는 경우.
WEAVE_ERROR_NO_MEMORY
메모리 할당 실패 시

디코딩

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

NetworkInfo 객체의 콘텐츠를 TLV 표현에서 역직렬화합니다.

세부정보
매개변수
[in] reader
TLVReader는 네트워크 정보를 포함하는 구조 요소에 위치합니다.
반환
WEAVE_NO_ERROR 성공 시 네트워크 프로비저닝 프로필을 준수하지 않는 요소의 WEAVE_ERROR_INVALID_TLV_요소가 잘못된 디코딩에 대해 TLV 리더 오류가 발생합니다.

인코딩

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_요소가 잘못된 디코딩에 대해 TLV 리더 오류가 발생합니다.

병합 대상

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()

공개 정적 함수

디코딩 목록

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() 함수에서 반환된 오류

인코딩 목록

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() 함수에서 반환된 오류

인코딩 목록

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() 함수에서 반환된 오류