nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Uma classe que oferece suporte à criação e decodificação de mensagens de consulta de imagem.
Resumo
O frame de consulta de imagem tem a seguinte forma:
Comprimento | 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 de tipos de integridade |
2,5 bytes | Atualizar lista de esquemas |
variável | especificação de localidade (opcional) |
8 bytes | ID do nó de destino |
variável | dados específicos do fornecedor (opcional) |
Bit | Significado |
0 | 1 - dados específicos do fornecedor presentes, 0 - ausentes |
1 | 1 - especificação de localidade presente, 0 - ausente |
2 | 1 - ID do nó de destino presente, 0 - ausente |
3 a 7 | Reservado |
Construtores e destruidores |
|
---|---|
ImageQuery()
Construtor padrão para ImageQuery.
|
Atributos públicos |
|
---|---|
integrityTypes
|
Tipos de integridade com suporte do dispositivo.
|
localeSpec
|
Uma string UTF-8 de comprimento variável que contém a localidade POSIX válida no dispositivo para o qual a consulta de imagem está sendo feita.
|
packageSpec
|
Uma string UTF-8 de comprimento variável que contém 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ífico do fornecedor tem tamanho variável e ocupa o restante da carga útil da mensagem do Weave, além dos campos descritos acima.
|
updateSchemes
|
Atualize os esquemas (protocolos de download) compatíveis com o dispositivo.
|
version
|
Uma string UTF-8 de comprimento variável que contém 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 a ImageQuery subjacente no PackageBuffer fornecido.
|
print(void)
|
void
|
Funções estáticas públicas |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Desserializa a mensagem de consulta de imagem fornecida em um PackageBuffer em uma ImageQuery fornecida.
|
Atributos públicos
localeSpec
ReferencedString localeSpec
Uma string UTF-8 de comprimento variável que contém a localidade POSIX válida no dispositivo para o qual 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 no ISO/IEC 15897, por exemplo: en_AU.UTF-8 para inglês australiano.
packageSpec
ReferencedString packageSpec
Uma string UTF-8 de comprimento variável que contém 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: esse campo não é usado em implementações do protocolo do Nest.
productSpec
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 de ID do nó de destino é opcional. Se ausente, o ID do nó de destino para a consulta será implicitamente o nó que era a origem da mensagem da consulta de imagem.
O campo de ID do nó de destino normalmente é usado em instâncias em que o nó que é a origem da mensagem da CONSULTA IMAGEM está servindo como um proxy de atualização de software para outro nó.
theMetaData
ReferencedTLVData theMetaData
O campo de dados específico do fornecedor tem tamanho variável e ocupa o restante da carga útil da mensagem do 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 estiver presente, o campo terá uma forma de estrutura codificada em TLV anônima. As tags apresentadas nessa estrutura devem ser tags específicas do perfil totalmente qualificadas.
updateSchemes
UpdateSchemeList updateSchemes
Atualize os esquemas (protocolos de download) compatíveis com o dispositivo.
version
ReferencedString version
Uma string UTF-8 de comprimento variável que contém a versão do software especificada pelo fornecedor do dispositivo para o qual a consulta está sendo feita.
Deve ter 32 ou menos de comprimento.
Funções públicas
ImageQuery
ImageQuery()
Construtor padrão para ImageQuery.
A ImageQuery pode ser preenchida chamando init() ou desserializando 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 |
|
||||||||||||||||
Retornos |
WEAVE_NO_ERROR Incondicionalmente.
|
operador==
bool operator==( const ImageQuery & ) const
Um operador de igualdade.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
verdadeiro se todos os campos em ambos os objetos forem iguais; caso contrário, falso
|
pacote
WEAVE_ERROR pack( PacketBuffer * )
Serialize a ImageQuery subjacente no PackageBuffer fornecido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
mostrar
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 em uma ImageQuery fornecida.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retornos |
WEAVE_NO_ERROR Em caso de sucesso
|
||||
Retornos |
WEAVE_ERROR_BUFFER_TOO_small Se a mensagem for muito pequena para conter todos os campos da ImageQuery.
|
||||
Retornos |
WEAVE_ERROR_INVALID_LIST_LENGTH Se a mensagem continha uma IntegrityTypeList ou uma UpdateSchemeList muito longa
|