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

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

Uma classe de utilitário para serializar e desserializar payloads comunicados por meio do 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âmico para que o objeto resultante tenha um ambiente de execução flexível. Por isso, essa classe não é adequada para ambientes mais restritos, mas pode ser usada em sistemas maiores.

Construtores e destruidores

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 de 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 do PAN estendido do Thread.
ThreadNetworkKey
uint8_t *
A chave de rede mestre do Thread ou NULL caso não seja especificada.
ThreadNetworkName
char *
O nome da rede Thread ou NULL se não for especificado.
ThreadPANId
uint32_t
O ID do PAN do Thread de 16 bits ou kThreadPANId_NotUpdated.
ThreadPSKc
uint8_t *
Chave pré-compartilhada da linha de execução para o comissário ou NULL se não for especificada.
WiFiKey
uint8_t *
A chave Wi-Fi ou NULL, se não for especificada.
WiFiKeyLen
uint32_t
O tamanho em bytes da chave Wi-Fi.
WiFiMode
O modo de operação da rede Wi-Fi.
WiFiRole
A função desempenhada 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 do objeto NetworkInfo pela cópia detalhada do conteúdo do argumento.
Decode(nl::Weave::TLV::TLVReader & reader)
Desserialize o conteúdo desse objeto NetworkInfo a partir da representação TLV dele.
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 do 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)
Desserialize uma lista de elementos NetworkInfo a partir da representação TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serialize 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)
Serialize uma matriz de objetos NetworkInfo na representação TLV para selecionar 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 de 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 do PAN estendido do Thread.

Ele é uma matriz alocada dinamicamente de 8 octos, de propriedade da classe. Destruída em qualquer condição que chama Clear() no objeto.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

A chave de rede mestre do Thread ou NULL caso não seja especificada.

Ele é uma matriz alocada dinamicamente de octetos arbitrários, de propriedade da classe Destroyed 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 terminada dinamicamente e alocada dinamicamente, de propriedade da classe. Destruída em qualquer condição que chama Clear() no objeto.

ThreadPANId

uint32_t ThreadPANId

O ID do PAN do Thread de 16 bits ou kThreadPANId_NotUpdated.

ThreadPSKc

uint8_t * ThreadPSKc

Chave pré-compartilhada da linha de execução para o comissário ou NULL se não for especificada.

Ele é uma matriz alocada dinamicamente de octetos arbitrários, de propriedade da classe Destroyed em qualquer condição que chame Clear() no objeto.

WiFiKey

uint8_t * WiFiKey

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

Ele é uma matriz alocada dinamicamente de octetos arbitrários, de propriedade da classe, com tamanho especificado por WiFiKeyLen. Destruída em qualquer condição que chama Clear() no objeto.

WiFiKeyLen

uint32_t WiFiKeyLen

O tamanho em bytes da chave Wi-Fi.

WiFiMode

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

O modo de operação da rede Wi-Fi.

WiFiRole

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

A função desempenhada pelo dispositivo na rede Wi-Fi.

WiFiSSID

char * WiFiSSID

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

É uma string C terminada dinamicamente e alocada dinamicamente, de propriedade da classe. Destruída em qualquer condição que chama 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 do 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 a operação for bem-sucedida.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando a plataforma não oferece suporte a badoc 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 a partir da representação TLV dele.

Detalhes
Parâmetros
[in] reader
TLVReader posicionado no elemento de estrutura que contém informações da rede.
Retornos
WEAVE_NO_ERROR: quando bem-sucedido, WEAVE_ERROR_INVALID_TLV_ELEMENT em qualquer elemento que não está de acordo com o perfil de provisionamento de rede, qualquer um dos erros do leitor TLV na decodificação incorreta dos elementos.

Codificação

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 esse objeto faz parte de uma matriz de elementos ou uma tag de perfil para kTag_NetworkInformation quando emitido como um elemento autônomo.
[in] encodeFlags
Sinalizações que controlam se as credenciais de NetworkInfo precisam ser serializadas.
Retornos
WEAVE_NO_ERROR: quando bem-sucedido, WEAVE_ERROR_INVALID_TLV_ELEMENT em qualquer elemento que não está de acordo com o perfil de provisionamento de rede, qualquer um dos erros do leitor TLV na decodificação incorreta dos elementos.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Mescle o conteúdo do 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 neste 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 a operação for bem-sucedida.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando a plataforma não oferece suporte a badoc 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
)

Desserialize uma lista de elementos NetworkInfo a partir da representação TLV.

Detalhes
Parâmetros
[in] reader
TLVReader posicionado no início da matriz. Se o retorno for bem-sucedido, o gravador será 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 desserializados no stream.
[in,out] elemArray
Uma referência à matriz de elementos NetworkInfo que conterá 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 a operação for bem-sucedida.
WEAVE_ERROR_NOT_IMPLEMENTED
em plataformas que não oferecem suporte ao gerenciamento de memória dinâmica.
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
)

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

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

Detalhes
Parâmetros
[in] writer
TLVWriter devidamente posicionado
[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 a operação for bem-sucedida.
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
)

Serialize uma matriz de objetos NetworkInfo na representação TLV para selecionar apenas redes de um tipo específico.

Detalhes
Parâmetros
[in] writer
TLVWriter devidamente posicionado
[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
o número de elementos realmente serializados.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
Other
Erros retornados da função Encode().