nl :: Tecer:: Perfis :: Atualização de software:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Uma classe para oferecer suporte à criação e decodificação de mensagens de consulta de imagem.
Resumo
O quadro de consulta de imagem tem o seguinte formato durante a transmissão
Comprimento | Nome do Campo |
1 byte | controle de quadro |
6 bytes | especificação do produto |
variável | especificação da versão |
2..4 bytes | lista de tipo de integridade |
2..5 bytes | atualizar lista de esquemas |
variável | especificação de local (opcional) |
8 bytes | ID do nó de destino |
variável | dados específicos do fornecedor (opcional) |
Pedaço | Significado |
0 | 1 - dados específicos do fornecedor presentes, 0 - não presentes |
1 | 1 - especificação de localidade presente, 0 - ausente |
2 | 1 - ID do nó de destino presente, 0 - ausente |
3..7 | Reservado |
Construtores e Destruidores | |
---|---|
ImageQuery () Construtor padrão para ImageQuery . |
Atributos públicos | |
---|---|
integrityTypes | Tipos de integridade suportados pelo dispositivo. |
localeSpec | Uma string UTF-8 de comprimento variável contendo a localidade POSIX em vigor no dispositivo para o qual a consulta de imagem está sendo feita. |
packageSpec | Uma string UTF-8 de comprimento variável contendo uma string de especificação de pacote específica do fornecedor. |
productSpec | Especificação do produto que descreve o dispositivo que está fazendo a consulta de imagem. |
targetNodeId | uint64_t Um id de nó opcional do dispositivo para o qual a consulta está sendo feita. |
theMetaData | O campo de dados específico do fornecedor é variável em comprimento e ocupa o restante da carga útil da mensagem Weave, além dos campos descritos acima. |
updateSchemes | Esquemas de atualização (protocolos de download) suportados pelo dispositivo. |
version | Uma string UTF-8 de comprimento variável contendo a versão de software especificada pelo fornecedor do dispositivo para o qual a consulta está sendo feita. |
Funções públicas | |
---|---|
init ( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData) | Explicitamente inicializar o ImageQuery objecto com os valores previstos. |
operator== (const ImageQuery &) const | bool Um operador de igualdade. |
pack (PacketBuffer *) | Serializar o subjacente ImageQuery no PacketBuffer fornecido. |
print (void) | void |
Funções estáticas públicas | |
---|---|
parse (PacketBuffer *, ImageQuery &) | Desserializar a mensagem de consulta de imagem fornecidos em um PacketBuffer em um fornecido ImageQuery . |
Atributos públicos
localeSpec
ReferencedString localeSpec
Uma string UTF-8 de comprimento variável contendo a localidade POSIX em vigor no dispositivo para o qual a consulta de imagem está sendo feita.
O conteúdo da string deve estar em conformidade com o formato do identificador de localidade POSIX, conforme especificado na ISO / IEC 15897, por exemplo, en_AU.UTF-8 para inglês australiano.
packageSpec
ReferencedString packageSpec
Uma string UTF-8 de comprimento variável contendo uma string de especificação de pacote específica do fornecedor.
O conteúdo do campo descreve o tipo de contêiner desejado para a imagem do software, como 'rpm', 'deb', 'tgz', 'elf', etc. (NOTA: Este campo não é usado em implementações Nest do protocolo)
productSpec
ProductSpec productSpec
Especificação do produto que descreve o dispositivo que está fazendo a consulta de imagem.
targetNodeId
uint64_t targetNodeId
Um id de nó opcional do dispositivo para o qual a consulta está sendo feita.
O campo de id do nó de destino é opcional. Se ausente, o id do nó de destino para a consulta é implicitamente o nó que foi a origem da mensagem de consulta de imagem.
O campo de id do nó de destino é normalmente usado em instâncias onde o nó que é a origem da mensagem IMAGE QUERY está servindo como um proxy de atualização de software para outro nó.
theMetaData
ReferencedTLVData theMetaData
O campo de dados específico do fornecedor é variável em comprimento e ocupa o restante da carga útil da mensagem Weave, além dos campos descritos acima.
O campo codifica informações específicas do fornecedor sobre o dispositivo para o qual a consulta está sendo feita. O campo de dados específico do fornecedor é opcional. Se presente, o campo tem uma forma de estrutura codificada por TLV anônima. As tags apresentadas nesta estrutura devem ser tags específicas de perfil totalmente qualificadas.
updateSchemes
UpdateSchemeList updateSchemes
Esquemas de atualização (protocolos de download) suportados pelo dispositivo.
versão
ReferencedString version
Uma string UTF-8 de comprimento variável contendo a versão de software especificada pelo fornecedor do dispositivo para o qual a consulta está sendo feita.
Deve ter comprimento de 32 ou menor.
Funções públicas
ImageQuery
ImageQuery()
Construtor padrão para ImageQuery .
O ImageQuery pode ser preenchida por chamando init () ou por deserializing o objecto a partir de uma mensagem.
iniciar
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Explicitamente inicializar o ImageQuery objecto com os valores previstos.
Detalhes | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||||||
Devoluções | WEAVE_NO_ERROR Incondicionalmente. |
operador ==
bool operator==( const ImageQuery & ) const
Um operador de igualdade.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | verdadeiro se todos os campos em ambos os objetos forem iguais, falso caso contrário |
pacote
WEAVE_ERROR pack( PacketBuffer * )
Serializar o subjacente ImageQuery no PacketBuffer fornecido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores Retornados |
|
impressão
void print( void )
Funções estáticas públicas
analisar
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Desserializar a mensagem de consulta de imagem fornecidos em um PacketBuffer em um fornecido ImageQuery .
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | WEAVE_NO_ERROR com sucesso | ||||
Devoluções | WEAVE_ERROR_BUFFER_TOO_SMALL Se a mensagem era muito pequeno para conter todos os campos do ImageQuery | ||||
Devoluções | WEAVE_ERROR_INVALID_LIST_LENGTH Se a mensagem continha um IntegrityTypeList ou o UpdateSchemeList que era muito longo |