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

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

Uma classe de utilitário para serializar e desserializar payloads comunicados pelo perfil NetworkProvisioning: ela encapsula informações pertinentes à detecção e configuração de redes.

Resumo

A classe depende do armazenamento intermediário de informações de provisionamento de rede (intermediário entre o armazenamento final das informações e o payload da rede) e usa o gerenciamento de memória dinâmica para oferecer ao objeto resultante um tempo de execução flexível. Por isso, essa classe não é adequada para os ambientes mais restritos, mas pode ser usada em sistemas maiores.

Construtores e destrutores

NetworkInfo()
~NetworkInfo()

Tipos públicos

@210 enum
@211 enum

Atributos públicos

Hidden
bool
Se a rede está oculta ou não.
NetworkId
int64_t
O ID da rede atribuído à rede pelo dispositivo, -1 se não for especificado.
NetworkType
O tipo de rede.
ThreadChannel
uint8_t
O canal atual (atualmente [11..26]) em que a rede Thread opera, ou kThreadChannel_Notspecified.
ThreadExtendedPANId
uint8_t *
O ID PAN estendido da linha de execução.
ThreadNetworkKey
uint8_t *
A chave da rede mestra do Thread , ou NULL caso não seja especificado.
ThreadNetworkName
char *
O nome da rede Thread, ou NULL se não for especificado.
ThreadPANId
uint32_t
O ID PAN do Thread de 16 bits ou kThreadPANId_Notspecified.
ThreadPSKc
uint8_t *
Chave pré-compartilhada da conversa para o comissário ou NULL se não for especificado.
WiFiKey
uint8_t *
A chave Wi-Fi, ou NULL se não for especificada.
WiFiKeyLen
uint32_t
O comprimento em bytes da chave Wi-Fi.
WiFiMode
O modo operacional da rede Wi-Fi.
WiFiRole
O papel desempenhado pelo dispositivo na rede Wi-Fi.
WiFiSSID
char *
O SSID do Wi-Fi, ou NULL se não for especificado.
WiFiSecurityType
O tipo de segurança do Wi-Fi.
WirelessSignalStrength
int16_t
A intensidade do sinal da rede, ou INT16_MIN se não disponível/aplicável.

Funções públicas

Clear(void)
void
Redefina para o padrão e libere todos os valores neste objeto NetworkInfo.
CopyTo(NetworkInfo & dest)
Substitua o conteúdo desse objeto NetworkInfo pela cópia detalhada do conteúdo do argumento.
Decode(nl::Weave::TLV::TLVReader & reader)
Desserialize o conteúdo desse objeto NetworkInfo da representação TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Serialize o conteúdo desse objeto NetworkInfo na representação TLV dele.
MergeTo(NetworkInfo & dest)
Mescle o conteúdo desse objeto NetworkInfo com a cópia detalhada do conteúdo do argumento.

Funções estáticas públicas

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Desserializa uma lista de elementos NetworkInfo da representação TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serializar uma matriz de objetos NetworkInfo na representação 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)
Serializar uma matriz de objetos NetworkInfo na representação TLV selecionando apenas redes de um tipo específico.

Tipos públicos

@210

 @210

@211

 @211

Atributos públicos

Oculto

bool Hidden

Se a rede está oculta ou não.

NetworkId

int64_t NetworkId

O ID da rede atribuído à rede pelo dispositivo, -1 se não for especificado.

NetworkType

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

O tipo de rede.

ThreadChannel

uint8_t ThreadChannel

O canal atual (atualmente [11..26]) em que a rede Thread opera, ou kThreadChannel_Notspecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

O ID PAN estendido da linha de execução.

Ela é uma matriz de 8 arquiteturas alocada dinamicamente de propriedade da classe. Destruída em qualquer condição que chame Clear() no objeto.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

A chave da rede mestra do Thread , ou NULL caso não seja especificado.

É uma matriz de octetos arbitrários dinamicamente alocada, de propriedade da classe "Destruído" em qualquer condição que chame Clear() no objeto.

ThreadNetworkName

char * ThreadNetworkName

O nome da rede Thread, ou NULL se não for especificado.

É uma string C com terminação NUL e alocação dinâmica, de propriedade da classe. Destruída em qualquer condição que chame Clear() no objeto.

ThreadPANId

uint32_t ThreadPANId

O ID PAN do Thread de 16 bits ou kThreadPANId_Notspecified.

ThreadPSKc

uint8_t * ThreadPSKc

Chave pré-compartilhada da conversa para o comissário ou NULL se não for especificado.

É uma matriz de octetos arbitrários dinamicamente alocada, de propriedade da classe "Destruído" em qualquer condição que chame Clear() no objeto.

WiFiKey

uint8_t * WiFiKey

A chave Wi-Fi, ou NULL se não for especificada.

É uma matriz de octetos arbitrários dinamicamente alocados, de propriedade da classe, com comprimento especificado por WiFiKeyLen. Destruída em qualquer condição que chame Clear() no objeto.

WiFiKeyLen

uint32_t WiFiKeyLen

O comprimento em bytes da chave Wi-Fi.

WiFiMode

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

O modo operacional da rede Wi-Fi.

WiFiRole

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

O papel desempenhado pelo dispositivo na rede Wi-Fi.

WiFiSSID

char * WiFiSSID

O SSID do Wi-Fi, ou NULL se não for especificado.

É uma string C com terminação NUL e alocação dinâmica, de propriedade da classe. Destruída em qualquer condição que chame Clear() no objeto.

WiFiSecurityType

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

O tipo de segurança do Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

A intensidade do sinal da rede, ou INT16_MIN se não disponível/aplicável.

Funções públicas

Limpar

void Clear(
  void
)

Redefina para o padrão e libere todos os valores neste objeto NetworkInfo.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Substitua o conteúdo desse objeto NetworkInfo pela cópia detalhada do conteúdo do argumento.

Detalhes
Parâmetros
[in] dest
Objeto NetworkInfo que contém as informações a serem copiadas para esse objeto.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando a plataforma não oferecer suporte para placeoc ou free.
WEAVE_ERROR_NO_MEMORY
Em falhas de alocação de memória.

Decode

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

Desserialize o conteúdo desse objeto NetworkInfo da representação TLV.

Detalhes
Parâmetros
[in] reader
TLVReader posicionado no elemento de estrutura que contém informações da rede.
Retorna
WEAVE_NO_ERROR Em caso de êxito, WEAVE_ERROR_INVALID_TLV_ELEMENT em qualquer elemento que não esteja em conformidade com o perfil de provisionamento de rede ou um dos erros do leitor TLV na decodificação incorreta dos elementos.

Codificar

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

Serialize o conteúdo desse objeto NetworkInfo na representação TLV dele.

Detalhes
Parâmetros
[in] writer
TLVWriter posicionado no local onde o objeto será serializado. A função emite uma tag anônima para esse objeto quando ele faz parte da matriz de elementos ou de uma tag de perfil para kTag_NetworkInformation quando emitido como um elemento independente.
[in] encodeFlags
Sinalizações que controlam se as credenciais de NetworkInfo precisam ser serializadas.
Retorna
WEAVE_NO_ERROR Em caso de êxito, WEAVE_ERROR_INVALID_TLV_ELEMENT em qualquer elemento que não esteja em conformidade com o perfil de provisionamento de rede ou um dos erros do leitor TLV na decodificação incorreta dos elementos.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Mescle o conteúdo desse objeto NetworkInfo com a cópia detalhada do conteúdo do argumento.

Todos os valores não padrão do objeto de argumento substituem os valores nesse objeto.

Detalhes
Parâmetros
[in] dest
Objeto NetworkInfo que contém as informações a serem copiadas para esse objeto.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando a plataforma não oferecer suporte para placeoc ou free.
WEAVE_ERROR_NO_MEMORY
Em falhas de alocação de memória.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Funções estáticas públicas

DecodeList

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

Desserializa uma lista de elementos NetworkInfo da representação TLV.

Detalhes
Parâmetros
[in] reader
TLVReader posicionado no início da matriz. Se o retorno for bem-sucedido, o gravador é posicionado após o fim da matriz.
[in,out] elemCount
Na entrada, o número máximo de elementos a serem desserializados do TLVReader. Na saída, o número de elementos realmente desserializados do stream.
[in,out] elemArray
Uma referência à matriz de elementos NetworkInfo que contêm os objetos NetworkInfo desserializados. Quando a matriz é NULL, ela é alocada internamente pela função abaixo. Caso contrário, presume-se que a matriz alocada externamente contém pelo menos objetos elemCount.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NOT_IMPLEMENTED
em plataformas que não oferecem suporte ao gerenciamento dinâmico de memória.
other
Erros retornados da função Decode().

EncodeList

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

Serializar uma matriz de objetos NetworkInfo na representação TLV.

A matriz será um elemento anônimo na representação de TLV.

Detalhes
Parâmetros
[in] writer
TLVWriter posicionado corretamente
[in] elemCount
Número de elementos em elemArray.
[in] elemArray
A matriz de objetos NetworkInfo a serem serializados.
[in] encodeFlags
Sinalizações que controlam se as credenciais de NetworkInfo precisam ser serializadas.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
Other
Erros retornados da função 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
)

Serializar uma matriz de objetos NetworkInfo na representação TLV selecionando apenas redes de um tipo específico.

Detalhes
Parâmetros
[in] writer
TLVWriter posicionado corretamente
[in] arrayLen
Número de elementos em elemArray.
[in] elemArray
A matriz de objetos NetworkInfo a serem serializados.
[in] networkType
O tipo de objetos NetworkInfo para serializar
[in] encodeFlags
Sinalizações que controlam se as credenciais de NetworkInfo precisam ser serializadas.
[out] encodedElemCount
Número de elementos realmente serializados.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
Other
Erros retornados da função Encode().