nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

Una clase auxiliar que contiene el tipo de integridad y el hash real de la imagen de la actualización de software.

Resumen

El objeto contiene el campo IntegrityTypes que especifica el tipo de hash y el hash real de la imagen de la actualización de software. La longitud del hash se fija en función del tipo de hash. El tamaño del objeto puede contener los hashes más grandes admitidos.

Constructores y destructores

IntegritySpec()
El constructor predeterminado para IntegritySpec

Atributos públicos

type
uint8_t
El tipo de hash y el valor que se obtendrá de los IntegrityTypes.
value[64]
uint8_t
Una secuencia de bytes de longitud variable que contiene el valor de integridad de la imagen de software identificada por el campo URI.

Funciones públicas

init(uint8_t, uint8_t *)
Inicializa de forma explícita el objeto IntegritySpec con los valores proporcionados.
operator==(const IntegritySpec &) const
bool
Un operador de igualdad.
pack(MessageIterator &)
Serializa IntegritySpec en el MessageIterator proporcionado.

Funciones estáticas públicas

parse(MessageIterator &, IntegritySpec &)
Deserializa el objeto del MessageIterator proporcionado en el IntegritySpec proporcionado.

Atributos públicos

tipo

uint8_t type

El tipo de hash y el valor que se obtendrá de los IntegrityTypes.

valor

uint8_t value[64]

Una secuencia de bytes de longitud variable que contiene el valor de integridad de la imagen de software identificada por el campo URI.

El valor de integridad se calcula aplicando la función de integridad especificada por el tipo de integridad al contenido de la imagen de actualización de software a la que se accede en el URI especificado anteriormente. La especificación de integridad permite al cliente confirmar que la imagen descargada coincide con la imagen especificada en esta respuesta.

Funciones públicas

IntegritySpec

 IntegritySpec()

El constructor predeterminado para IntegritySpec

El objeto debe inicializarse con el método init() o deserializándolo desde un mensaje.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Inicializa de forma explícita el objeto IntegritySpec con los valores proporcionados.

Detalles
Parámetros
[in] aType
Un valor de tipo de integridad extraído de IntegrityTypes
[in] aValue
Un valor de hash de la longitud adecuada representado como una cadena empaquetada de bytes
Resultado que se muestra
WEAVE_NO_ERROR si la operación se realizó correctamente
Resultado que se muestra
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionado no es uno de los valores especificados en IntegrityTypes

operador==

bool operator==(
  const IntegritySpec &
) const 

Un operador de igualdad.

Detalles
Parámetros
another
Un IntegritySpec para verificar con este IntegritySpec
Resultado que se muestra
true si todos los campos en ambos objetos son iguales; de lo contrario, false

paquete

WEAVE_ERROR pack(
  MessageIterator &
)

Serializa IntegritySpec en el MessageIterator proporcionado.

Detalles
Parámetros
[in] i
Un iterador sobre el mensaje que se empaqueta
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el IntegritySpec es demasiado grande para caber en el mensaje.

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Deserializa el objeto del MessageIterator proporcionado en el IntegritySpec proporcionado.

Detalles
Parámetros
[in] i
Un iterador sobre el mensaje que se analiza.
[in] aSpec
Una referencia a un objeto que contiene el resultado
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
Valores de retorno
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el mensaje no contenía suficientes bytes para el tipo de integridad y el hash asociado, haz lo siguiente:
Resultado que se muestra
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionado no es uno de los valores especificados en IntegrityTypes