nl::Weave::Perfiles::NetworkProvisioning::NetworkInfo

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

Es 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 información de aprovisionamiento de red (intermedio entre el almacenamiento final de la información y la carga útil de red) y usa la administración de memoria dinámica para darle al entorno el tiempo de ejecución flexible. 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
ID de red que el dispositivo asignó a la red si no se especifica.
NetworkType
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 del PAN extendido de Thread.
ThreadNetworkKey
uint8_t *
La clave de red 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 de PAN de subproceso de 16 bits o kThreadPANId_Notspecified.
ThreadPSKc
uint8_t *
Clave de subproceso ya compartida para el encargado, o NULO si no se especifica.
WiFiKey
uint8_t *
La clave de 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 cumple 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 Wi-Fi.
WirelessSignalStrength
int16_t
La intensidad de la señal de la red o INT16_MIN si no está disponible o no es aplicable.

Funciones públicas

Clear(void)
void
Restablece los valores predeterminados y gratuitos 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 de 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 de su representación TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serializa un arreglo 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 arreglo 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

Entradas

bool Hidden

Indica si la red está oculta o no.

ID de red

int64_t NetworkId

ID de red que el dispositivo asignó a la red si no se especifica.

NetworkType

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

El tipo de red.

Canal de subprocesos

uint8_t ThreadChannel

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

ID de PANExtendedExtended

uint8_t * ThreadExtendedPANId

El ID del PAN extendido de Thread.

Es un arreglo 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.

Clave de red de subprocesos

uint8_t * ThreadNetworkKey

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

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

Nombre de la red de subprocesos

char * ThreadNetworkName

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

Es una string C finalizada con un NUL asignada de forma dinámica, que le pertenece a la clase. Se destruye en cualquier condición que llame a Clear() en el objeto.

ID de PANPAN

uint32_t ThreadPANId

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

ThreadPSKc

uint8_t * ThreadPSKc

Clave de subproceso ya compartida para el encargado, o NULO si no se especifica.

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

Clave Wi-Fi

uint8_t * WiFiKey

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

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

ClaveWi-Fi

uint32_t WiFiKeyLen

La longitud en bytes de la clave Wi-Fi.

Modo Wi-Fi

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

El modo de funcionamiento de la red Wi-Fi.

Función de Wi-Fi

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

La función que cumple el dispositivo en la red Wi-Fi.

Wi-Fi

char * WiFiSSID

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

Es una string C finalizada con un NUL asignada de forma dinámica, que le pertenece a la clase. Se destruye en cualquier condición que llame a Clear() en el objeto.

Tipo de seguridad de Wi-Fi

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

El tipo de seguridad Wi-Fi.

Intensidad de la señal inalámbrica

int16_t WirelessSignalStrength

La intensidad de la señal de la red o INT16_MIN si no está disponible o no es aplicable.

Funciones públicas

Borrar

void Clear(
  void
)

Restablece los valores predeterminados y gratuitos de este objeto NetworkInfo.

Copiar a

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 información para copiar en este objeto.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no admite malloc o la versión gratuita.
WEAVE_ERROR_NO_MEMORY
Cuando falla la asignación de memoria.

Decodifica

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

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

Detalles
Parámetros
[in] reader
TLVReader posicionado en el elemento de estructura que contiene información de la red.
Qué muestra
WEAVE_NO_ERROR Si se ejecuta correctamente, WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumple con el perfil de aprovisionamiento de la red, tiene errores de lector TLV en la decodificación incorrecta de 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 en el lugar en el que se serializará el objeto. La función emite una etiqueta anónima para este objeto cuando este forma parte de un arreglo 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 se ejecuta correctamente, WEAVE_ERROR_INVALID_TLV_ELEMENT en cualquier elemento que no cumple con el perfil de aprovisionamiento de la red, tiene errores de lector TLV en la decodificación incorrecta de elementos.

Fusionar en

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
NetworkInfo que contiene información para copiar en este objeto.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Cuando la plataforma no admite malloc o la versión gratuita.
WEAVE_ERROR_NO_MEMORY
Cuando falla la asignación de memoria.

NetworkInfo

 NetworkInfo()

Información de la red: ~NetworkInfo

 ~NetworkInfo()

Funciones estáticas públicas

Lista de decodificación

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

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

Detalles
Parámetros
[in] reader
TLVReader en el inicio del arreglo. Si el resultado es correcto, el escritor se posiciona después del final del arreglo.
[in,out] elemCount
En la entrada, cantidad máxima de elementos para deserializar desde TLVReader. En la salida, la cantidad de elementos deserializados realmente de la transmisión.
[in,out] elemArray
Una referencia al arreglo de elementos NetworkInfo que contendrán los objetos de NetworkInfo deserializados. Cuando el arreglo es NULL, lo asigna internamente la función a continuación; de lo contrario, se supone que el arreglo asignado externamente contiene al menos objetos elemCount.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
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()

Lista de codificación

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

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

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

Detalles
Parámetros
[in] writer
TLVWriter correctamente posicionado
[in] elemCount
Cantidad de elementos en elemArray
[in] elemArray
El arreglo de objetos NetworkInfo que se serializará.
[in] encodeFlags
Marcas que controlan si se deben serializar las credenciales de NetworkInfo
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
Other
Errores que muestra la función Encode()

Lista de codificación

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 arreglo de objetos NetworkInfo en su representación TLV y selecciona solo redes de un tipo específico.

Detalles
Parámetros
[in] writer
TLVWriter correctamente posicionado
[in] arrayLen
Cantidad de elementos en elemArray
[in] elemArray
El arreglo de objetos NetworkInfo que se serializará.
[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
La cantidad de elementos realmente serializados.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
Other
Errores que muestra la función Encode()