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

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

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

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

Resumen

El mensaje de respuesta a la consulta de imagen tiene la forma:

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

Un poco Significado
0..2 Prioridad de actualización
3..4 Condición de actualización
5 Estado del informe. Cuando se establece, se solicita al cliente que genere los mensajes DownloadNotify y UpdateNotify opcionales.
5..7 Reservado
La respuesta a la consulta de imágenes solo se envía en el caso de que la consulta de imágenes se procese correctamente y produzca una imagen para descargar. El mensaje constituye instrucciones de descarga para el nodo que envió la consulta. Tenga en cuenta que en los casos en que el servidor no procese la consulta de imagen, generará un estado de consulta de imagen.

Constructores y Destructores

ImageQueryResponse ()
El constructor por defecto 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
Solicite informar al servidor sobre el progreso de la actualización del software a través de los mensajes opcionales DownloadNotify y UpdateNotify.
updateCondition
Instrucciones sobre las condiciones bajo las cuales proceder con la actualización del software.
updatePriority
Instrucciones que dirigen al dispositivo cuándo realizar la actualización de software.
updateScheme
uint8_t
El esquema de actualización que se utilizará para descargar la imagen de actualización de software.
uri
Una cadena UTF-8 de longitud variable que contiene la ubicación de la imagen del software.
versionSpec
Una cadena UTF-8 de longitud variable que contiene una identificación de versión de software específica del proveedor.

Funciones publicas

init ( ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority , UpdateCondition , bool)
Explícitamente inicializar el ImageQueryResponse objeto con los valores proporcionados.
operator== (const ImageQueryResponse &) const
bool
Un operador de igualdad.
pack (PacketBuffer *)
Serializar el ImageQueryResponse en el PacketBuffer proporcionado.
print (void)
void

Funciones estáticas públicas

parse (PacketBuffer *, ImageQueryResponse &)
Deserializar el mensaje de respuesta de imagen de consulta proporcionada en un PacketBuffer proporcionado en un ImageQueryResponse .

Atributos públicos

IntegritySpec

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.

reportStatus

bool reportStatus

Solicite informar al servidor sobre el progreso de la actualización del software a través de los mensajes opcionales DownloadNotify y UpdateNotify.

updateCondition

UpdateCondition updateCondition

Instrucciones sobre las condiciones bajo las cuales proceder con la actualización del software.

updatePriority

UpdatePriority updatePriority

Instrucciones que dirigen al dispositivo cuándo realizar la actualización de software.

updateScheme

uint8_t updateScheme

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

Su valor se extrae de UpdateSchemes .

uri

ReferencedString uri

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

El contenido de esta cadena debe cumplir con la especificación RFC 3986. Para los esquemas de actualización correspondientes a un Protocolo de Internet bien definido (HTTP, HTTPS, SFTP), el elemento de esquema del URI DEBE ajustarse a la codificación de URL canónica para ese esquema de protocolo. La longitud de la cadena no debe exceder 65565 y la cadena debe caber dentro de un solo mensaje Weave, que puede estar sujeto a limitaciones de MTU.

versionSpec

ReferencedString versionSpec

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

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

Funciones publicas

ImageQueryResponse

 ImageQueryResponse()

El constructor por defecto para ImageQueryResponse .

El ImageQueryResponse puede ser poblada por vía el init () método o por deserializar el objeto de un mensaje.

en eso

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

Explícitamente inicializar el ImageQueryResponse objeto con los valores proporcionados.

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

operador ==

bool operator==(
  const ImageQueryResponse &
) const 

Un operador de igualdad.

Detalles
Parámetros
another
Un ImageQueryResponse para comprobar en contra de esta ImageQueryResponse
Devoluciones
Es verdadero si todos los campos en ambos objetos son iguales, falso en caso contrario

paquete

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializar el ImageQueryResponse en el PacketBuffer proporcionado.

Detalles
Parámetros
[in] aBuffer
Un búfer de paquetes en el que empaquetar la respuesta a la consulta
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el ImageQueryResponse es demasiado grande para caber en el búfer proporcionado.

impresión

void print(
  void
)

Funciones estáticas públicas

analizar gramaticalmente

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializar el mensaje de respuesta de imagen de consulta proporcionada en un PacketBuffer proporcionado en un ImageQueryResponse .

Detalles
Parámetros
[in] aBuffer
Un puntero a un paquete desde el que analizar la consulta de imagen
[in] aResponse
Un objeto en el que poner el resultado
Devoluciones
WEAVE_NO_ERROR en caso de éxito
Devoluciones
WEAVE_ERROR_BUFFER_TOO_SMALL Si el mensaje era demasiado pequeño para contener todos los campos de la ImageQuery
Devoluciones
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionada no es uno de los valores especificados en IntegrityTypes