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
스레드 네트워크가 작동하는 현재 채널 (현재 [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)
TLV 표현에서 NetworkInfo 요소 목록을 역직렬화합니다.
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

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

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

스레드 확장 PAN ID입니다.

클래스가 소유한 8옥텟으로 구성된 동적으로 할당된 배열입니다. 객체에서 Clear()를 호출하는 모든 조건에서 삭제됩니다.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

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

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

ThreadNetworkName

char * ThreadNetworkName

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

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

ThreadPANId

uint32_t ThreadPANId

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

ThreadPSKc

uint8_t * ThreadPSKc

커미셔닝용 스레드 사전 공유 키이거나 지정되지 않은 경우 NULL입니다.

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

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 판독기에서 잘못된 요소 디코딩 오류가 발생합니다.

인코딩

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
)

TLV 표현에서 NetworkInfo 요소 목록을 역직렬화합니다.

세부정보
매개변수
[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() 함수에서 반환된 오류