nl::Weave::Profiles::SoftwareUpdate::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 a la consulta de imágenes.

Resumen

El mensaje de respuesta de la consulta de imagen tiene el siguiente formato:

Longitud 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 opciones de actualización (opcional) es el siguiente:

Broca Significado
0... 2 Prioridad de actualización
3..4 Actualizar condición
5 Estado del informe. Cuando se configura, se le solicita al cliente que genere los mensajes opcionales DownloadNotificar y UpdateNotificar.
5 a 7 Reservados
La respuesta de la consulta de imagen solo se envía en caso de que la consulta de imagen se procese correctamente y produzca 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 pueda procesar la consulta de imagen, generará un estado de consulta de imagen.

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) de la imagen de la actualización de software.
reportStatus
bool
Solicitud para informar al servidor sobre el progreso de la actualización del software a través de los mensajes opcionales DownloadNotificar y UpdateNotificar.
updateCondition
Instrucciones sobre las condiciones en las que se debe proceder con la actualización del software.
updatePriority
Son instrucciones que le indican al dispositivo cuándo debe realizar la actualización de software.
updateScheme
uint8_t
Es el esquema de actualización que se usará 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 la versión de software específica del proveedor.

Funciones públicas

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

Funciones estáticas públicas

parse(PacketBuffer *, ImageQueryResponse &)
Deserializa el mensaje de respuesta a la consulta de imagen proporcionado en PackageBuffer en una ImageQueryResponse proporcionada.

Atributos públicos

integritySpec

IntegritySpec integritySpec

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

reportStatus

bool reportStatus

Solicitud para informar al servidor sobre el progreso de la actualización del software a través de los mensajes opcionales DownloadNotificar y UpdateNotificar.

updateCondition

UpdateCondition updateCondition

Instrucciones sobre las condiciones en las que se debe proceder con la actualización del software.

updatePriority

UpdatePriority updatePriority

Son instrucciones que le indican al dispositivo cuándo debe realizar la actualización de software.

updateScheme

uint8_t updateScheme

Es el esquema de actualización que se usará para descargar la imagen de actualización de software.

Su valor se obtiene 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. En el caso de los esquemas de actualización correspondientes a un protocolo de Internet bien definido (HTTP, HTTPS, SFTP), el elemento del esquema del URI DEBE cumplir con la codificación URL canónica de ese esquema de protocolo. La longitud de la cadena no debe exceder 65,565 y debe caber dentro de un solo mensaje de Weave, que puede estar sujeta a las limitaciones de MTU.

versionSpec

ReferencedString versionSpec

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

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

Funciones públicas

ImageQueryResponse

 ImageQueryResponse()

El constructor predeterminado para ImageQueryResponse.

La ImageQueryResponse se puede propagar con el método init() o deserializando el objeto a partir de un mensaje.

init

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

Inicializa de forma explícita el objeto ImageQueryResponse 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 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 realizará la actualización.
[in] aReportStatus
Si el valor es verdadero, se solicita al cliente que informe después de la descarga y actualización; de lo contrario, el cliente no lo informará.
Resultado que se muestra
WEAVE_NO_ERROR en todos los casos.

operador==

bool operator==(
  const ImageQueryResponse &
) const 

Un operador de igualdad.

Detalles
Parámetros
another
Una ImageQueryResponse para verificar esta ImageQueryResponse
Resultado que se muestra
true si todos los campos en ambos objetos son iguales; de lo contrario, false

paquete

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializa ImageQueryResponse en el packageBuffer proporcionado.

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

imprimir

void print(
  void
)

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializa el mensaje de respuesta a la consulta de imagen proporcionado en PackageBuffer en 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 mostrará el resultado
Resultado que se muestra
WEAVE_NO_ERROR si la operación se realizó correctamente
Resultado que se muestra
WEAVE_ERROR_BUFFER_TOO_SMALL Si el mensaje es demasiado pequeño para contener todos los campos de la ImageQuery
Resultado que se muestra
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Si el tipo de integridad proporcionado no es uno de los valores especificados en IntegrityTypes