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 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 actualización de software. La longitud del hash se fija según su tipo. El objeto está dimensionado para contener el mayor de los hashes admitidos.

Constructores y destructores

IntegritySpec()
El constructor predeterminado para IntegritySpec.

Atributos públicos

type
uint8_t
El tipo de hash, el valor que se obtendrá de 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 del 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 el IntegritySpec en el MessageIterator proporcionado.

Funciones estáticas públicas

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

Atributos públicos

tipo

uint8_t type

El tipo de hash, el valor que se obtendrá de 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 del 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 que el cliente confirme si la imagen descargada coincide con la que se especifica en esta respuesta.

Funciones públicas

IntegritySpec

 IntegritySpec()

El constructor predeterminado para IntegritySpec.

El objeto debe inicializarse a través del método init() o a través de la deserialización de 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 string empaquetada de bytes
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa
Qué 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.
Qué muestra
true si todos los campos de ambos objetos son iguales, de lo contrario, false

paquete

WEAVE_ERROR pack(
  MessageIterator &
)

Serializa el IntegritySpec en el MessageIterator proporcionado.

Detalles
Parámetros
[in] i
Un iterador sobre el mensaje que se empaqueta
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
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 objeto IntegritySpec proporcionado.

Detalles
Parámetros
[in] i
Un iterador sobre el mensaje que se analiza.
[in] aSpec
Una referencia a un objeto para contener el resultado
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
Valores que se muestran
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:
Qué muestra
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionado no es uno de los valores especificados en IntegrityTypes