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

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

Uma classe que oferece suporte à criação e decodificação das mensagens de resposta da consulta de imagem.

Resumo

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

Comprimento 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 Atualizar prioridade
3 a 4 Atualizar condição
5 Status do relatório. Quando definido, o cliente é solicitado a gerar mensagens opcionais DownloadNotify e UpdateNotify.
5 a 7 Reservado
A resposta da consulta de imagem só é enviada quando a consulta é processada corretamente e produz uma imagem para download. A mensagem constitui as instruções de download para o nó que a consulta enviou. Nos casos em que o servidor não consegue processar a consulta de imagem, ele deve gerar um status de consulta de imagem.

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 para informar o servidor sobre o progresso da atualização do software por meio das mensagens opcionais DownloadNotify e UpdateNotify.
updateCondition
Instruções sobre as condições para continuar com a atualização do software.
updatePriority
Instruções que orientam o dispositivo sobre quando realizar a atualização do software.
updateScheme
uint8_t
O esquema de atualização a ser usado para fazer o download da imagem de atualização do software.
uri
Uma string UTF-8 de comprimento variável contendo o local da imagem do software.
versionSpec
Uma string UTF-8 de comprimento variável que contém uma identificação da versão de 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 *)
Serialize o ImageQueryResponse no PackageBuffer fornecido.
print(void)
void

Funções estáticas públicas

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

Atributos públicos

integritySpec

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.

reportStatus

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

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

updatePriority

UpdatePriority updatePriority

Instruções que orientam o dispositivo sobre quando realizar a atualização do software.

updateScheme

uint8_t updateScheme

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

O valor é extraído de UpdateSchemes.

uri

ReferencedString uri

Uma string UTF-8 de comprimento variável contendo 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 comprimento da string não pode exceder 65.565, e a string precisa caber em uma única mensagem do Weave, que pode estar sujeita a limitações de MTU.

versionSpec

ReferencedString versionSpec

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

A string não pode exceder 256 bytes.

Funções públicas

ImageQueryResponse

 ImageQueryResponse()

O construtor padrão para ImageQueryResponse.

A ImageQueryResponse pode ser preenchida 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 da 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 sob a qual atualizar.
[in] aReportStatus
Se true solicita que o cliente gere relatórios após o download e a atualização. Caso contrário, o cliente não informará.
Retornos
WEAVE_NO_ERROR Incondicionalmente.

operador==

bool operator==(
  const ImageQueryResponse &
) const 

Um operador de igualdade.

Detalhes
Parâmetros
another
Uma ImageQueryResponse para verificar essa ImageQueryResponse
Retornos
verdadeiro se todos os campos em ambos os objetos forem iguais; caso contrário, falso

pacote

WEAVE_ERROR pack(
  PacketBuffer *
)

Serialize o ImageQueryResponse no PackageBuffer fornecido.

Detalhes
Parâmetros
[in] aBuffer
Um buffer de pacote no qual empacotar a resposta da consulta
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se ImageQueryResponse for muito grande para caber no buffer fornecido.

mostrar

void print(
  void
)

Funções estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

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

Detalhes
Parâmetros
[in] aBuffer
Um ponteiro para um pacote no qual analisar a consulta de imagem.
[in] aResponse
Um objeto no qual colocar o resultado
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_INTEGRITY_TYPE: quando o tipo de integridade fornecido não é um dos valores especificados em IntegrityTypes.