nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

Uma classe para oferecer suporte à criação e decodificação das mensagens de resposta de consulta de imagem.

Resumo

A mensagem de resposta da consulta de imagem tem o formato:

Duração Nome do campo
variável URI
variável Especificação da versão
variável Especificação de integridade
1 byte Atualizar esquema
1 byte Opções de atualização
O formato do campo de opções de atualização (opcional) é o seguinte:

Bit Significado
0 a 2 Prioridade de atualização
3 a 4 Atualizar condição
5 Status do relatório. Quando definido, o cliente é solicitado a gerar as mensagens opcionais DownloadNotification e UpdateNotificar.
5 a 7 Reservado
A resposta de consulta de imagem só é enviada quando a consulta de imagem é processada com sucesso e produz uma imagem para download. A mensagem constitui instruções para fazer o download do nó que enviou a consulta. Nos casos em que o servidor não processa a consulta de imagem, um status de consulta de imagem é gerado.

Construtores e destruidores

ImageQueryResponse()
O construtor padrão para ImageQueryResponse.

Atributos públicos

integritySpec
Um campo que contém as informações de integridade (tipo de integridade e um hash) da imagem de atualização do software.
reportStatus
bool
Solicitação para informar o servidor sobre o progresso da atualização do software por meio das mensagens opcionais NotNotificar e UpdateUpdate.
updateCondition
Instruções sobre as condições para fazer a atualização do software.
updatePriority
Instruções que direcionam o dispositivo para a atualização de software.
updateScheme
uint8_t
O esquema de atualização a ser usado para fazer o download da imagem de atualização de software.
uri
Uma string UTF-8 de comprimento variável que contém o local da imagem do software.
versionSpec
Uma string UTF-8 de comprimento variável contendo uma identificação da versão do software específica do fornecedor.

Funções públicas

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Inicialize explicitamente o objeto ImageQueryResponse com os valores fornecidos.
operator==(const ImageQueryResponse &) const
bool
Um operador de igualdade.
pack(PacketBuffer *)
Serializa ImageQueryResponse para o PackageBuffer fornecido.
print(void)
void

Funções estáticas públicas

parse(PacketBuffer *, ImageQueryResponse &)
Desserialize a mensagem de resposta de consulta de imagem fornecida em um PackageBuffer em uma ImageQueryResponse fornecida.

Atributos públicos

IntegritySpecSpec

IntegritySpec integritySpec

Um campo que contém as informações de integridade (tipo de integridade e um hash) da imagem de atualização do software.

Status do relatório

bool reportStatus

Solicitação para informar o servidor sobre o progresso da atualização do software por meio das mensagens opcionais NotNotificar e UpdateUpdate.

updateCondition

UpdateCondition updateCondition

Instruções sobre as condições para fazer a atualização do software.

updatePriority

UpdatePriority updatePriority

Instruções que direcionam o dispositivo para a atualização de software.

updateScheme.

uint8_t updateScheme

O esquema de atualização a ser usado para fazer o download da imagem de atualização de software.

O valor dele é retirado de UpdateSchemes.

uri

ReferencedString uri

Uma string UTF-8 de comprimento variável que contém o local da imagem do software.

O conteúdo dessa string precisa estar em conformidade com a especificação RFC 3986. Para esquemas de atualização correspondentes a um protocolo de Internet bem definido (HTTP, HTTPS, SFTP), o elemento de esquema do URI PRECISA estar em conformidade com a codificação de URL canônico desse esquema de protocolo. O tamanho da string não pode ultrapassar 65.565, e ela precisa caber em uma única mensagem do Weave, o que pode estar sujeito a limitações de MTU.

versionSpec

ReferencedString versionSpec

Uma string UTF-8 de comprimento variável contendo uma identificação da versão do software específica do fornecedor.

O tamanho da string não pode exceder 256 bytes.

Funções públicas

ImageQueryResponse

 ImageQueryResponse()

O construtor padrão para ImageQueryResponse.

O ImageQueryResponse pode ser preenchido pelo método init() ou desserializando o objeto de uma mensagem.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Inicialize explicitamente o objeto ImageQueryResponse com os valores fornecidos.

Detalhes
Parâmetros
[in] aUri
O URI em que a nova imagem do firmware deve ser encontrada.
[in] aVersion
A string da versão dessa imagem.
[in] aIntegrity
A especificação de integridade correspondente à nova imagem.
[in] aScheme
O esquema de atualização a ser usado no download.
[in] aPriority
A prioridade de atualização associada a esta atualização.
[in] aCondition
A condição em que a atualização é feita.
[in] aReportStatus
Se o valor "true" solicitar que o cliente informe após o download e a atualização, o cliente não será informado.
Retorna
WEAVE_NO_ERROR incondicionalmente.

operador==

bool operator==(
  const ImageQueryResponse &
) const 

Um operador de igualdade.

Detalhes
Parâmetros
another
Um ImageQueryResponse para verificar este ImageQueryResponse
Retorna
Verdadeiro se todos os campos nos dois objetos forem iguais. Caso contrário, será falso

pacote

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializa ImageQueryResponse para o PackageBuffer fornecido.

Detalhes
Parâmetros
[in] aBuffer
Um buffer de pacote no qual empacotar a resposta da consulta
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o ImageQueryResponse for muito grande para caber no buffer fornecido.

print

void print(
  void
)

Funções estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Desserialize a mensagem de resposta de consulta de imagem fornecida em um PackageBuffer em uma ImageQueryResponse fornecida.

Detalhes
Parâmetros
[in] aBuffer
Um ponteiro para um pacote que analisa a consulta de imagem
[in] aResponse
Um objeto no qual colocar o resultado
Retorna
WEAVE_NO_ERROR Caso tenha concluído
Retorna
WEAVE_ERROR_BUFFER_TOO_COLOR Se a mensagem for muito pequena para conter todos os campos da ImageQuery
Retorna
WEAVE_ERROR_INVALID_INTEGRITY_TYPE: se o tipo de integridade fornecido não for um dos valores especificados em IntegrityTypes.