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 de consulta de imagen.

Resumen

El mensaje de respuesta a 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:

Bit Significado
0..2 Actualizar prioridad
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 Reservados
La respuesta a la consulta de imágenes solo se envía en el caso de que la consulta de imagen se procese correctamente y produzca una imagen para descargar. El mensaje constituye instrucciones de descarga para el nodo desde el 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 actualización de software.
reportStatus
bool
Solicita informar al servidor sobre el progreso de la actualización de software a través de los mensajes opcionales DownloadNotify y UpdateRefresh.
updateCondition
Instrucciones sobre las condiciones en las que se debe continuar con la actualización del software
updatePriority
Instrucciones para indicarle 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 string UTF-8 de longitud variable que contiene la ubicación de la imagen del software.
versionSpec
Una string UTF-8 de longitud variable que contiene una identificación de versión del 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 la ImageQueryResponse en el PacketBuffer proporcionado.
print(void)
void

Funciones estáticas públicas

parse(PacketBuffer *, ImageQueryResponse &)
Deserializa el mensaje de respuesta de consulta de imagen proporcionado en un PacketBuffer 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 actualización de software.

reportStatus

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

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

updatePriority

UpdatePriority updatePriority

Instrucciones para indicarle 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 string UTF-8 de longitud variable que contiene la ubicación de la imagen del software.

El contenido de esta string 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 del 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 exceder 65,565 y la string debe caber dentro de un solo mensaje de Weave, que puede estar sujeto a las limitaciones de la MTU.

versionSpec

ReferencedString versionSpec

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

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

Funciones públicas

ImageQueryResponse

 ImageQueryResponse()

El constructor predeterminado para ImageQueryResponse.

La ImageQueryResponse se puede propagar mediante el método init() o la deserialización del objeto 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
Es 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
Es 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 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 esta ImageQueryResponse
Qué muestra
true si todos los campos de ambos objetos son iguales, de lo contrario, false

paquete

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializa la ImageQueryResponse en el PacketBuffer proporcionado.

Detalles
Parámetros
[in] aBuffer
Un búfer de paquete en el que empaquetar la respuesta de la consulta
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
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 de consulta de imagen proporcionado en un PacketBuffer en una ImageQueryResponse proporcionada.

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