En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl::Weave::Perfiles::Actualización de software::ImageQueryResponse

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

Una clase para admitir la creación y la decodificación de los mensajes de respuesta de consultas de imágenes.

Resumen

El mensaje de respuesta de la consulta de imágenes tiene el siguiente formato:

Duración Nombre del campo
variable URI
variable Especificación de la versión
variable Especificación de integridad
1 byte Actualizar esquema
1 byte Opciones de actualización
El formato del campo de las opciones de actualización (opcional) es el siguiente:

Bit Significado
0,2 Prioridad de la actualización
3,4 Actualizar condición
5 Estado del informe. Cuando se configura, se le solicita al cliente que genere los mensajes opcionales DownloadNotify y UpdateNotify.
5.7 Reservado
La respuesta a la consulta de imagen solo se envía si la búsqueda de imagen se procesa correctamente y produce una imagen para descargar. El mensaje contiene instrucciones de descarga para el nodo al que se envió la consulta. Ten en cuenta que, en los casos en que el servidor no procese la consulta de la imagen, se generará el estado de la búsqueda de imágenes.

Constructores y destructores

ImageQueryResponse()
El constructor predeterminado para ImageQueryResponse.

Atributos públicos

integritySpec
Un campo que contiene la información de integridad (tipo de integridad y un hash) para la imagen de actualización de software.
reportStatus
bool
Solicitud para informar al servidor sobre el progreso de la actualización de software mediante los mensajes opcionales DownloadNotify y UpdateNotify.
updateCondition
Instrucciones sobre las condiciones para continuar con la actualización de software
updatePriority
Instrucciones para dirigir al dispositivo cuando se debe actualizar el software
updateScheme
uint8_t
El esquema de actualización que se usará para descargar la imagen de actualización de software
uri
Una string UTF-8 de longitud variable que contiene la ubicación de la imagen de software.
versionSpec
Una string UTF-8 de longitud variable que contiene una identificación de versión de software específica para el proveedor.

Funciones públicas

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Inicializa el objeto ImageQueryResponse de manera explícita con los valores proporcionados.
operator==(const ImageQueryResponse &) const
bool
Un operador de igualdad
pack(PacketBuffer *)
Se serializa la ImageQueryResponse en el PacketBuffer proporcionado.
print(void)
void

Funciones estáticas públicas

parse(PacketBuffer *, ImageQueryResponse &)
Deserializa el mensaje de respuesta de la búsqueda de imágenes proporcionado en un PacketBuffer a una ImageQueryResponse proporcionada.

Atributos públicos

Especificación de integridad

IntegritySpec integritySpec

Un campo que contiene la información de integridad (tipo de integridad y un hash) para la imagen de actualización de software.

estadodelinforme

bool reportStatus

Solicitud para informar al servidor sobre el progreso de la actualización de software mediante los mensajes opcionales DownloadNotify y UpdateNotify.

updateCondition

UpdateCondition updateCondition

Instrucciones sobre las condiciones para continuar con la actualización de software

updatePriority

UpdatePriority updatePriority

Instrucciones para dirigir al dispositivo cuando se debe actualizar el software

Esquema de actualización

uint8_t updateScheme

El esquema de actualización que se usará para descargar la imagen de actualización de software

Su valor se extrae de UpdateSchemes.

uri

ReferencedString uri

Una string UTF-8 de longitud variable que contiene la ubicación de la imagen de software.

El contenido de esta string debe cumplir con la especificación RFC 3986. En el caso de los esquemas de actualización que corresponden a un protocolo de Internet bien definido (HTTP, HTTPS, SFTP), el elemento de esquema del URI DEBE cumplir con la codificación de URL canónica de ese esquema de protocolo. La longitud de la string no debe superar los 65 565, y la string debe caber dentro de un solo mensaje de Weave, que puede estar sujeto a las limitaciones de la MTU.

Especificación de la versión

ReferencedString versionSpec

Una string UTF-8 de longitud variable que contiene una identificación de versión de software específica para el proveedor.

La longitud de la string no debe superar los 256 bytes.

Funciones públicas

Respuesta de la imagen

 ImageQueryResponse()

El constructor predeterminado para ImageQueryResponse.

Se puede propagar ImageQueryResponse a través del método init() o deserializando el objeto de un mensaje.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Inicializa el objeto ImageQueryResponse de manera explícita con los valores proporcionados.

Detalles
Parámetros
[in] aUri
Es el URI en el que se encuentra la imagen de firmware nueva.
[in] aVersion
Es la string de la versión de esta imagen.
[in] aIntegrity
Es la especificación de integridad correspondiente a la imagen nueva.
[in] aScheme
El esquema de actualización que se usará en la descarga.
[in] aPriority
La prioridad de actualización asociada con esta actualización.
[in] aCondition
La condición en la que se actualizará.
[in] aReportStatus
Si verdadero solicita al cliente que informe después de la descarga y la actualización, de lo contrario el cliente no lo informará.
Qué muestra
WEAVE_NO_ERROR Incondicionalmente.

operador==

bool operator==(
  const ImageQueryResponse &
) const 

Un operador de igualdad

Detalles
Parámetros
another
Una ImageQueryResponse para verificar en esta ImageQueryResponse
Qué muestra
Es verdadero si todos los campos de ambos objetos son iguales; de lo contrario, es falso.

paquete

WEAVE_ERROR pack(
  PacketBuffer *
)

Se serializa la ImageQueryResponse en el PacketBuffer proporcionado.

Detalles
Parámetros
[in] aBuffer
Un búfer de paquete en el que se debe empaquetar la respuesta de la consulta
Valores que se muestran
WEAVE_NO_ERROR
Si la operación se realiza correctamente
WEAVE_ERROR_BUFFER_TOO_SMALL
Si ImageQueryResponse es demasiado grande para caber en el búfer proporcionado.

print

void print(
  void
)

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializa el mensaje de respuesta de la búsqueda de imágenes proporcionado en un PacketBuffer a una ImageQueryResponse proporcionada.

Detalles
Parámetros
[in] aBuffer
Un puntero para un paquete desde el que se analiza la consulta de imagen
[in] aResponse
Un objeto en el que se debe colocar el resultado
Qué muestra
WEAVE_NO_ERROR Si la operación fue exitosa
Qué muestra
WEAVE_ERROR_BUFFER_TOO_SMALL Si el mensaje es demasiado pequeño para contener todos los campos de ImageQuery
Qué muestra
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionado no es uno de los valores especificados en IntegrityTypes