Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: 네트워크 프로비저닝 :: NetworkInfo

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

페이로드를 통해 통신 직렬화 및 역 직렬화하는 유틸리티 클래스 NetworkProvisioning의 프로파일 : 그것은 검출 및 네트워크 구성 정보의 관련을 캡슐화한다.

요약

이 클래스는 네트워크 프로비저닝 정보의 중간 저장소 (정보의 최종 저장소와 네트워크 페이로드 사이의 중간)에 의존하고 동적 메모리 관리를 사용하여 결과 개체에 유연한 런타임을 제공합니다. 따라서이 클래스는 가장 제한된 환경에는 적합하지 않지만 더 큰 시스템에서 사용할 수 있습니다.

생성자와 소멸자

NetworkInfo ()
~NetworkInfo ()

공개 유형

@210 열거 형
@211 열거 형

공용 속성

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 *
WiFi 키 또는 지정되지 않은 경우 NULL입니다.
WiFiKeyLen
uint32_t
WiFi 키의 길이 (바이트)입니다.
WiFiMode
WiFi 네트워크의 작동 모드입니다.
WiFiRole
WiFi 네트워크에서 장치가 수행하는 역할입니다.
WiFiSSID
char *
WiFi SSID 또는 지정되지 않은 경우 NULL입니다.
WiFiSecurityType
WiFi 보안 유형입니다.
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

스레드 네트워크가 작동하는 현재 채널 (현재 [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

WiFi 키 또는 지정되지 않은 경우 NULL입니다.

그것은 의해 지정된 길이 클래스 소유 임의의 옥텟의 동적으로 할당 된 어레이이다 WiFiKeyLen . 호출하는 조건으로 파괴 Clear() 개체에.

WiFiKeyLen

uint32_t WiFiKeyLen

WiFi 키의 길이 (바이트)입니다.

WiFi 모드

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

WiFi 네트워크의 작동 모드입니다.

WiFiRole

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

WiFi 네트워크에서 장치가 수행하는 역할입니다.

WiFiSSID

char * WiFiSSID

WiFi SSID 또는 지정되지 않은 경우 NULL입니다.

클래스가 소유 한 NUL 종료, 동적 할당 C- 문자열입니다. 호출하는 조건으로 파괴 Clear() 개체에.

WiFiSecurityType

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

WiFi 보안 유형입니다.

무선 신호 강도

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

목록 직렬화 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() 함수.