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 la información pertinente a la detección y configuración de redes.

Resumen

La clase depende del almacenamiento intermedio de información de provisión de red (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 proporcionar un tiempo de ejecución flexible al objeto resultante. Por lo tanto, esta clase no es adecuada para los entornos más restringidos, pero se puede usar en sistemas más grandes.

Constructores y destructores

NetworkInfo()
~NetworkInfo()

Tipos públicos

@210 enum
@211 enum

Atributos públicos

Hidden
bool
Indica 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
Es el tipo de red.
ThreadChannel
uint8_t
El canal actual (actualmente [11..26]) en el que opera la red Thread o kThreadChannel_Notspecified.
ThreadExtendedPANId
uint8_t *
El ID PAN extendido de Thread.
ThreadNetworkKey
uint8_t *
La clave de red principal Thread o NULL si no se especifica.
ThreadNetworkName
char *
El nombre de la red Thread o NULL si no se especifica.
ThreadPANId
uint32_t
El ID de PAN del subproceso de 16 bits o kThreadPANId_Notspecified.
ThreadPSKc
uint8_t *
Clave precompartida del subproceso 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 Wi-Fi o NULL si no se especifica.
WiFiSecurityType
Es el tipo de seguridad 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 desde su representación 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 desde 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 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 con la selección de solo redes de un tipo específico.

Tipos públicos

@210

 @210

@211

 @211

Atributos públicos

Ocultos

bool Hidden

Indica 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

Es el tipo de red.

ThreadChannel

uint8_t ThreadChannel

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

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

El ID PAN extendido de Thread.

Es un array de 8 octetos asignado 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 principal Thread o NULL si no se especifica.

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

ThreadNetworkName

char * ThreadNetworkName

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

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

ThreadPANId

uint32_t ThreadPANId

El ID de PAN del subproceso de 16 bits o kThreadPANId_Notspecified.

ThreadPSKc

uint8_t * ThreadPSKc

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

Es un array de octetos arbitrarios asignado de forma dinámica y pertenece a la clase Destruido en 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 de octetos arbitrarios asignado de forma dinámica, que es propiedad de la clase, con 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 Wi-Fi o NULL si no se especifica.

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

WiFiSecurityType

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

Es el tipo de seguridad 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
Un objeto NetworkInfo que contiene información que se copiará en este objeto.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no es compatible con 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 desde su representación TLV.

Detalles
Parámetros
[in] reader
TLVReader posicionado en el elemento de estructura que contiene la información de red.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa, WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumpla con el perfil de aprovisionamiento de red y cualquiera de los errores del lector TLV relacionados con 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 ubicado 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 del array de elementos o una etiqueta de perfil para kTag_NetworkInformation cuando se emite como un elemento independiente.
[in] encodeFlags
Marcas que controlan si se deben serializar las credenciales de NetworkInfo.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa, WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumpla con el perfil de aprovisionamiento de red y cualquiera de los errores del lector TLV relacionados con 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 en este objeto.

Detalles
Parámetros
[in] dest
Un objeto NetworkInfo que contiene información que se copiará en este objeto.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no es compatible con malloc o free.
WEAVE_ERROR_NO_MEMORY
En fallas de asignación de memoria.

NetworkInfo

 NetworkInfo()

Información de red aproximadamente

 ~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 desde su representación TLV.

Detalles
Parámetros
[in] reader
TLVReader posicionado en el inicio del array. Cuando 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 para deserializar desde TLVReader. En la salida, la cantidad de elementos que realmente se deserializaron de la transmisión.
[in,out] elemArray
Es una referencia al array de elementos NetworkInfo que contendrá los objetos NetworkInfo deserializados. Cuando el array es NULL, la función que se muestra a continuación lo asigna internamente. De lo contrario, se supone que el array asignado externamente contiene al menos objetos elemCount.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
WEAVE_ERROR_NOT_IMPLEMENTED
en plataformas que no admiten la administración dinámica de la memoria.
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 TLV.

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

Detalles
Parámetros
[in] writer
TLVWriter posicionado correctamente
[in] elemCount
Cantidad de elementos en elemArray.
[in] elemArray
El arreglo de objetos NetworkInfo que se serializarán.
[in] encodeFlags
Marcas que controlan si se deben serializar las credenciales de NetworkInfo.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
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 con la selección de solo redes de un tipo específico.

Detalles
Parámetros
[in] writer
TLVWriter posicionado correctamente
[in] arrayLen
Cantidad de elementos en elemArray.
[in] elemArray
El arreglo de objetos NetworkInfo que se serializarán.
[in] networkType
El tipo de objetos NetworkInfo que se serializarán
[in] encodeFlags
Marcas que controlan si se deben serializar las credenciales de NetworkInfo.
[out] encodedElemCount
Es la cantidad de elementos realmente serializados.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
Other
Errores que muestra la función Encode().