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

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

Una clase de utilidad para serializar y deserializar cargas útiles comunicadas a través del perfil NetworkProvisioning: encapsula información pertinente a la detección y configuración de redes.

Resumen

La clase se basa en el almacenamiento intermedio de la información de aprovisionamiento de red (un punto intermedio entre el almacenamiento final de la información y la carga útil de la red) y usa la administración de memoria dinámica para que el objeto resultante tenga un tiempo de ejecución flexible. Por lo tanto, esta clase no es adecuada para los entornos más restringidos, pero puede usarse en sistemas más grandes.

Constructores y destructores

NetworkInfo()
~NetworkInfo()

Tipos públicos

@210 enum
@211 enum

Atributos públicos

Hidden
bool
Si la red está oculta o no.
NetworkId
int64_t
El ID de red que el dispositivo asignó a la red; -1 si no se especifica.
NetworkType
Indica el tipo de red.
ThreadChannel
uint8_t
El canal actual (actualmente [11..26]) en el que opera la red Thread o kThreadChannel_NotSpecify.
ThreadExtendedPANId
uint8_t *
El ID PAN extendido de Thread.
ThreadNetworkKey
uint8_t *
La clave de red de la instancia principal de Thread o NULL si no se especifica.
ThreadNetworkName
char *
El nombre de la red de Thread o NULL si no se especifica.
ThreadPANId
uint32_t
El ID PAN del subproceso de 16 bits o kThreadPANId_NotSpecify.
ThreadPSKc
uint8_t *
Clave del subproceso precompartida para el comisionado o NULL si no se especifica.
WiFiKey
uint8_t *
La clave Wi-Fi o NULL si no se especifica.
WiFiKeyLen
uint32_t
La longitud en bytes de la clave Wi-Fi.
WiFiMode
El modo de funcionamiento de la red Wi-Fi.
WiFiRole
La función que desempeña el dispositivo en la red Wi-Fi.
WiFiSSID
char *
El SSID de la red Wi-Fi o NULL si no se especifica.
WiFiSecurityType
El tipo de seguridad de la red Wi-Fi
WirelessSignalStrength
int16_t
La intensidad de la señal de la red o INT16_MIN si no está disponible o no corresponde

Funciones públicas

Clear(void)
void
Restablece a la configuración predeterminada y libera todos los valores dentro de este objeto NetworkInfo.
CopyTo(NetworkInfo & dest)
Reemplaza el contenido de este objeto NetworkInfo con la copia profunda del contenido del argumento.
Decode(nl::Weave::TLV::TLVReader & reader)
Deserializa el contenido de este objeto NetworkInfo a partir de su representación de TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Serializa el contenido de este objeto NetworkInfo en su representación TLV.
MergeTo(NetworkInfo & dest)
Combina el contenido de este objeto NetworkInfo con la copia profunda del contenido del argumento.

Funciones estáticas públicas

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Deserializa una lista de elementos NetworkInfo a partir de su representación TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serializa un array de objetos NetworkInfo en su representación de 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)
Serializa un array de objetos NetworkInfo en su representación TLV y selecciona solo redes de un tipo específico.

Tipos públicos

@210

 @210

@211

 @211

Atributos públicos

Oculto

bool Hidden

Si la red está oculta o no.

NetworkId

int64_t NetworkId

El ID de red que el dispositivo asignó a la red; -1 si no se especifica.

NetworkType

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

Indica el tipo de red.

ThreadChannel

uint8_t ThreadChannel

El canal actual (actualmente [11..26]) en el que opera la red Thread o kThreadChannel_NotSpecify.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

El ID PAN extendido de Thread.

Es un array de 8 objetos asignados de forma dinámica que pertenece a la clase. Se destruye en cualquier condición que llame a Clear() en el objeto.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

La clave de red de la instancia principal de Thread o NULL si no se especifica.

Es un array de octetos arbitrarios asignados de forma dinámica que pertenece a la clase Destroyed bajo cualquier condición que llame a Clear() en el objeto.

ThreadNetworkName

char * ThreadNetworkName

El nombre de la red de Thread o NULL si no se especifica.

Es una cadena C terminada en NUL y asignada de forma dinámica que pertenece a la clase. Se destruye en cualquier condición que llame a Clear() en el objeto.

ThreadPANId

uint32_t ThreadPANId

El ID PAN del subproceso de 16 bits o kThreadPANId_NotSpecify.

ThreadPSKc

uint8_t * ThreadPSKc

Clave del subproceso precompartida para el comisionado o NULL si no se especifica.

Es un array de octetos arbitrarios asignados de forma dinámica que pertenece a la clase Destroyed bajo cualquier condición que llame a Clear() en el objeto.

WiFiKey

uint8_t * WiFiKey

La clave Wi-Fi o NULL si no se especifica.

Es un array asignado de forma dinámica de octetos arbitrarios que pertenecen a la clase, con una longitud especificada por WiFiKeyLen. Se destruye en cualquier condición que llame a Clear() en el objeto.

WiFiKeyLen

uint32_t WiFiKeyLen

La longitud en bytes de la clave Wi-Fi.

WiFiMode

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

El modo de funcionamiento de la red Wi-Fi.

WiFiRole

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

La función que desempeña el dispositivo en la red Wi-Fi.

WiFiSSID

char * WiFiSSID

El SSID de la red Wi-Fi o NULL si no se especifica.

Es una cadena C terminada en NUL y asignada de forma dinámica que pertenece a la clase. Se destruye en cualquier condición que llame a Clear() en el objeto.

WiFiSecurityType

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

El tipo de seguridad de la red Wi-Fi

WirelessSignalStrength

int16_t WirelessSignalStrength

La intensidad de la señal de la red o INT16_MIN si no está disponible o no corresponde

Funciones públicas

Borrar

void Clear(
  void
)

Restablece a la configuración predeterminada y libera todos los valores dentro de este objeto NetworkInfo.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Reemplaza el contenido de este objeto NetworkInfo con la copia profunda del contenido del argumento.

Detalles
Parámetros
[in] dest
NetworkInfo que contiene la información que se copiará en este objeto.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no admite malloc o free.
WEAVE_ERROR_NO_MEMORY
En fallas de asignación de memoria

Decode

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

Deserializa el contenido de este objeto NetworkInfo a partir de su representación de TLV.

Detalles
Parámetros
[in] reader
TLVReader se posiciona en el elemento de la estructura que contiene la información de la red.
Resultado que se muestra
WEAVE_NO_ERROR Si se ejecuta correctamente, se genera WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumple con el perfil de aprovisionamiento de red y alguno de los errores del lector de TLV en la decodificación incorrecta de los elementos.

Codifica

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

Serializa el contenido de este objeto NetworkInfo en su representación TLV.

Detalles
Parámetros
[in] writer
TLVWriter posicionado en el lugar en el que se serializará el objeto. La función emite una etiqueta anónima para este objeto cuando este es parte de un array de elementos o una etiqueta de perfil para kTag_NetworkInformation cuando se emite como un elemento independiente.
[in] encodeFlags
Las marcas que controlan si se deben serializar las credenciales de NetworkInfo.
Resultado que se muestra
WEAVE_NO_ERROR Si se ejecuta correctamente, se genera WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumple con el perfil de aprovisionamiento de red y alguno de los errores del lector de TLV en la decodificación incorrecta de los elementos.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Combina el contenido de este objeto NetworkInfo con la copia profunda del contenido del argumento.

Todos los valores no predeterminados del objeto de argumento reemplazan los valores de este objeto.

Detalles
Parámetros
[in] dest
NetworkInfo que contiene la información que se copiará en este objeto.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no admite malloc o free.
WEAVE_ERROR_NO_MEMORY
En fallas de asignación de memoria

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Funciones estáticas públicas

DecodeList

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

Deserializa una lista de elementos NetworkInfo a partir de su representación TLV.

Detalles
Parámetros
[in] reader
TLVReader posicionado al comienzo del array. Si el resultado es exitoso, el escritor se posiciona después del final del array.
[in,out] elemCount
En la entrada, cantidad máxima de elementos que se deserializarán desde el TLVReader. En la salida, la cantidad de elementos realmente deserializados de la transmisión.
[in,out] elemArray
Una referencia al array de elementos NetworkInfo que contendrá los objetos NetworkInfo deserializados. Cuando el array es NULL, se asigna internamente con la función de abajo; de lo contrario, se supone que el array asignado externamente contiene al menos objetos elemCount.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
en plataformas que no admiten la administración de memoria dinámica.
other
Errores que muestra la función Decode()

EncodeList

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

Serializa un array de objetos NetworkInfo en su representación de TLV.

El array será un elemento anónimo en la representación de TLV.

Detalles
Parámetros
[in] writer
TLVWriter adecuadamente posicionado
[in] elemCount
Cantidad de elementos en el elemArray.
[in] elemArray
El arreglo de objetos NetworkInfo que se serializan.
[in] encodeFlags
Las marcas que controlan si se deben serializar las credenciales de NetworkInfo.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
Other
Errores que muestra la función 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
)

Serializa un array de objetos NetworkInfo en su representación TLV y selecciona solo redes de un tipo específico.

Detalles
Parámetros
[in] writer
TLVWriter adecuadamente posicionado
[in] arrayLen
Cantidad de elementos en el elemArray.
[in] elemArray
El arreglo de objetos NetworkInfo que se serializan.
[in] networkType
El tipo de objetos NetworkInfo para serializar
[in] encodeFlags
Las marcas que controlan si se deben serializar las credenciales de NetworkInfo.
[out] encodedElemCount
La cantidad de elementos realmente serializados.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
Other
Errores que muestra la función Encode()