nl:: Weave:: Perfis:: Atualização de software:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Uma classe para dar suporte à criação e decodificação de mensagens de consulta de imagem.
Resumo
O frame da consulta de imagem tem o seguinte formato sobre o fio
Duração | Nome do campo |
1 byte | controle de frames |
6 bytes | especificação do produto |
variável | especificação da versão |
2,4 bytes | lista do tipo de integridade |
2,5 bytes | atualizar lista de esquemas |
variável | especificação da localidade (opcional) |
8 bytes | ID do nó de destino |
variável | dados específicos do fornecedor (opcional) |
broca | Significado |
0 | 1 - dados específicos do fornecedor presentes, 0 - não presente |
1 | 1 - especificação da localidade presente, 0 - não presente |
2 | 1 - ID do nó de destino presente, 0 - não presente |
3,7 | Reservado |
Construtores e destrutores |
|
---|---|
ImageQuery()
Construtor padrão para ImageQuery.
|
Atributos públicos |
|
---|---|
integrityTypes
|
Tipos de integridade compatíveis com o dispositivo.
|
localeSpec
|
Uma string UTF-8 de tamanho variável com a localidade POSIX em vigor no dispositivo em que a consulta de imagem está sendo feita.
|
packageSpec
|
Uma string UTF-8 de comprimento variável com 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 código de nó opcional do dispositivo para o qual a consulta está sendo feita.
|
theMetaData
|
O campo de dados específicos do fornecedor varia em tamanho e ocupa o restante do payload da mensagem do Weave, além dos campos descritos acima.
|
updateSchemes
|
Atualiza esquemas (protocolos de download) compatíveis com o dispositivo.
|
version
|
Uma string UTF-8 de tamanho variável com a versão do 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)
|
Inicialize explicitamente o objeto ImageQuery com os valores fornecidos.
|
operator==(const ImageQuery &) const
|
bool
Um operador de igualdade.
|
pack(PacketBuffer *)
|
Serialize o ImageQuery subjacente no PackageBuffer fornecido.
|
print(void)
|
void
|
Funções estáticas públicas |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Desserialize a mensagem de consulta de imagem fornecida em um PackageBuffer para uma ImageQuery fornecida.
|
Atributos públicos
integridadeTipos
IntegrityTypeList integrityTypes
Tipos de integridade compatíveis com o dispositivo.
localeSpec
ReferencedString localeSpec
Uma string UTF-8 de tamanho variável com a localidade POSIX em vigor no dispositivo em que a consulta de imagem está sendo feita.
O conteúdo da string precisa 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 com 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. OBSERVAÇÃO: este campo não é usado em implementações Nest do protocolo.
Especificações do produto
ProductSpec productSpec
Especificação do produto que descreve o dispositivo que está fazendo a consulta de imagem.
targetNodeId
uint64_t targetNodeId
Um código de nó opcional do dispositivo para o qual a consulta está sendo feita.
O campo "ID do nó de destino" é opcional. Se ausente, o ID do nó de destino da consulta é implicitamente o nó que foi a origem da mensagem de consulta da imagem.
O campo de ID do nó de destino normalmente é usado quando o nó que é a origem da mensagem de IMAGE QUERY está servindo como um proxy de atualização de software para outro nó.
Metadados
ReferencedTLVData theMetaData
O campo de dados específicos do fornecedor varia em tamanho e ocupa o restante do payload da mensagem do Weave, além dos campos descritos acima.
O campo codifica informações específicas do fornecedor sobre o dispositivo em que a consulta está sendo feita. O campo de dados específicos do fornecedor é opcional. Quando presente, o campo tem uma forma de estrutura anônima codificada em TLV. As tags apresentadas nessa estrutura devem ser tags totalmente qualificadas e específicas do perfil.
updateSchemes
UpdateSchemeList updateSchemes
Atualiza esquemas (protocolos de download) compatíveis com o dispositivo.
version
ReferencedString version
Uma string UTF-8 de tamanho variável com a versão do software especificada pelo fornecedor do dispositivo para o qual a consulta está sendo feita.
Precisa ter no máximo 32 caracteres.
Funções públicas
Consulta de imagem
ImageQuery()
Construtor padrão para ImageQuery.
Para preencher a ImageQuery, chame init() ou desserialize o objeto de uma mensagem.
init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Inicialize explicitamente o objeto ImageQuery com os valores fornecidos.
Detalhes | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||||
Retorna |
WEAVE_NO_ERROR incondicionalmente.
|
Operador==
bool operator==( const ImageQuery & ) const
Um operador de igualdade.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
"true" se todos os campos em ambos os objetos forem iguais. Caso contrário, "false"
|
pacote
WEAVE_ERROR pack( PacketBuffer * )
Serialize o ImageQuery subjacente no PackageBuffer fornecido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
imprimir
void print( void )
Funções estáticas públicas
parse
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Desserialize a mensagem de consulta de imagem fornecida em um PackageBuffer para uma ImageQuery fornecida.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_NO_ERROR em caso de sucesso
|
||||
Retorna |
WEAVE_ERROR_BUFFER_TOO_SMALL Se a mensagem for muito pequena para conter todos os campos da ImageQuery
|
||||
Retorna |
WEAVE_ERROR_INVALID_LIST_LENGTH Se a mensagem tinha uma IntegrityTypeList ou uma UpdateSchemeList muito longa
|