nl :: Tejido:: Perfiles: Actualización de software:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Una clase para apoyar la creación y decodificación de mensajes de consulta de imágenes.
Resumen
El marco de consulta de imagen tiene la siguiente forma sobre el cable
Largo | Nombre del campo |
1 byte | control de cuadro |
6 bytes | especificaciones del producto |
variable | especificación de la versión |
2..4 bytes | lista de tipos de integridad |
2..5 bytes | actualizar lista de esquemas |
variable | especificación de configuración regional (opcional) |
8 bytes | ID de nodo de destino |
variable | datos específicos del proveedor (opcional) |
Un poco | Significado |
0 | 1 - datos específicos del proveedor presentes, 0 - no presentes |
1 | 1: especificación de configuración regional presente, 0: no presente |
2 | 1 - ID de nodo de destino presente, 0 - no presente |
3..7 | Reservado |
Constructores y Destructores | |
---|---|
ImageQuery () Constructor por defecto para ImageQuery . |
Atributos públicos | |
---|---|
integrityTypes | Tipos de integridad admitidos por el dispositivo. |
localeSpec | Una cadena UTF-8 de longitud variable que contiene la configuración regional POSIX vigente en el dispositivo para el que se realiza la consulta de imagen. |
packageSpec | Una cadena UTF-8 de longitud variable que contiene una cadena de especificación de paquete específica del proveedor. |
productSpec | Especificación de producto que describe el dispositivo que realiza la consulta de imagen. |
targetNodeId | uint64_t Un ID de nodo opcional del dispositivo para el que se realiza la consulta. |
theMetaData | El campo de datos específico del proveedor es de longitud variable y ocupa el resto de la carga útil del mensaje Weave, más allá de los campos descritos anteriormente. |
updateSchemes | Actualice los esquemas (protocolos de descarga) admitidos por el dispositivo. |
version | Una cadena UTF-8 de longitud variable que contiene la versión de software especificada por el proveedor del dispositivo para el que se realiza la consulta. |
Funciones publicas | |
---|---|
init ( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData) | Explícitamente inicializar el ImageQuery objeto con los valores proporcionados. |
operator== (const ImageQuery &) const | bool Un operador de igualdad. |
pack (PacketBuffer *) | Serializar el subyacente ImageQuery en el PacketBuffer proporcionado. |
print (void) | void |
Funciones estáticas públicas | |
---|---|
parse (PacketBuffer *, ImageQuery &) | Deserializar el mensaje de la imagen de consulta proporcionada en un PacketBuffer proporcionado en un ImageQuery . |
Atributos públicos
localeSpec
ReferencedString localeSpec
Una cadena UTF-8 de longitud variable que contiene la configuración regional POSIX vigente en el dispositivo para el que se realiza la consulta de imagen.
El contenido de la cadena debe ajustarse al formato de identificador de configuración regional POSIX, como se especifica en ISO / IEC 15897, por ejemplo, en_AU.UTF-8 para inglés australiano.
packageSpec
ReferencedString packageSpec
Una cadena UTF-8 de longitud variable que contiene una cadena de especificación de paquete específica del proveedor.
El contenido del campo describe el tipo de contenedor deseado para la imagen del software, como 'rpm', 'deb', 'tgz', 'elf', etc.
productSpec
ProductSpec productSpec
Especificación de producto que describe el dispositivo que realiza la consulta de imagen.
targetNodeId
uint64_t targetNodeId
Un ID de nodo opcional del dispositivo para el que se realiza la consulta.
El campo de identificación del nodo de destino es opcional. Si está ausente, la identificación del nodo de destino para la consulta es implícitamente el nodo que fue el origen del mensaje de consulta de imagen.
El campo de identificación del nodo de destino se usa típicamente en casos en los que el nodo que es el origen del mensaje de CONSULTA DE IMAGEN sirve como un proxy de actualización de software para otro nodo.
theMetaData
ReferencedTLVData theMetaData
El campo de datos específico del proveedor es de longitud variable y ocupa el resto de la carga útil del mensaje Weave, más allá de los campos descritos anteriormente.
El campo codifica información específica del proveedor sobre el dispositivo para el que se realiza la consulta. El campo de datos específicos del proveedor es opcional. Si está presente, el campo tiene una forma de estructura anónima codificada por TLV. Las etiquetas presentadas dentro de esta estructura serán etiquetas específicas de perfil totalmente calificadas.
updateSchemes
UpdateSchemeList updateSchemes
Actualice los esquemas (protocolos de descarga) admitidos por el dispositivo.
versión
ReferencedString version
Una cadena UTF-8 de longitud variable que contiene la versión de software especificada por el proveedor del dispositivo para el que se realiza la consulta.
Debe tener una longitud de 32 o menos.
Funciones publicas
ImageQuery
ImageQuery()
Constructor por defecto para ImageQuery .
El ImageQuery puede ser poblada por llamar init () o por deserializar el objeto de un mensaje.
en eso
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Explícitamente inicializar el ImageQuery objeto con los valores proporcionados.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||||||
Devoluciones | WEAVE_NO_ERROR Incondicionalmente. |
operador ==
bool operator==( const ImageQuery & ) const
Un operador de igualdad.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | Es verdadero si todos los campos en ambos objetos son iguales, falso en caso contrario |
paquete
WEAVE_ERROR pack( PacketBuffer * )
Serializar el subyacente ImageQuery en el PacketBuffer proporcionado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
impresión
void print( void )
Funciones estáticas públicas
analizar gramaticalmente
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Deserializar el mensaje de la imagen de consulta proporcionada en un PacketBuffer proporcionado en un ImageQuery .
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
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_LIST_LENGTH Si el mensaje contenía un IntegrityTypeList o la UpdateSchemeList que era demasiado largo |