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

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

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

Resumo

A mensagem de resposta da consulta de imagem tem este 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..4 Atualizar condição
5 Status do relatório. Quando definido, o cliente é solicitado a gerar as mensagens opcionais Downloadnotificação e Update procurar.
5..7 Reservados
A resposta da consulta de imagem é enviada apenas no caso em que a consulta de imagem é processada com sucesso e produz uma imagem para download. A mensagem constitui as instruções de download do nó que enviou a consulta. 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 destrutores

ImageQueryResponse()
O construtor padrão de ImageQueryResponse.

Atributos públicos

integritySpec
Um campo contendo as informações de integridade (tipo de integridade e um hash) da imagem de atualização de software.
reportStatus
bool
Solicitação para informar o servidor sobre o progresso da atualização de software usando as mensagens opcionais Downloadnotify e UpdateNotification.
updateCondition
Instruções sobre as condições para proceder com a atualização de software.
updatePriority
Instruções que indicam ao dispositivo quando atualizar o 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 tamanho variável que contém 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 *)
Serializar ImageQueryResponse para o PacketBuffer fornecido.
print(void)
void

Funções estáticas públicas

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

Atributos públicos

integritySpec

IntegritySpec integritySpec

Um campo contendo as informações de integridade (tipo de integridade e um hash) da imagem de atualização de software.

reportStatus

bool reportStatus

Solicitação para informar o servidor sobre o progresso da atualização de software usando as mensagens opcionais Downloadnotify e UpdateNotification.

updateCondition

UpdateCondition updateCondition

Instruções sobre as condições para proceder com a atualização de software.

updatePriority

UpdatePriority updatePriority

Instruções que indicam ao dispositivo quando atualizar o 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 é extraído 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 para esse esquema de protocolo. O comprimento da string não pode exceder 65.565, e ela precisa caber em uma única mensagem Weave, que pode estar sujeita a limitações de MTU.

versionSpec

ReferencedString versionSpec

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

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

Funções públicas

ImageQueryResponse

 ImageQueryResponse()

O construtor padrão de ImageQueryResponse.

A classe ImageQueryResponse pode ser preenchida por meio do 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 de firmware será encontrada.
[in] aVersion
A string da versão para esta 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 essa atualização.
[in] aCondition
A condição em que a atualização será feita.
[in] aReportStatus
Se verdadeiro, solicita que o cliente informe depois do download e da atualização. Caso contrário, o cliente não informará.
Retorna
WEAVE_NO_ERROR Incondicionalmente.

operador==

bool operator==(
  const ImageQueryResponse &
) const 

Um operador de igualdade.

Detalhes
Parâmetros
another
Um ImageQueryResponse para verificar em relação a essa ImageQueryResponse
Retorna
verdadeiro se todos os campos em ambos os objetos forem iguais. Caso contrário, será falso

pacote

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializar ImageQueryResponse para o PacketBuffer fornecido.

Detalhes
Parâmetros
[in] aBuffer
Um buffer de pacote no qual empacotar a resposta da consulta
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
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 &
)

Desserializa a mensagem de resposta da consulta de imagem fornecida em um PacketBuffer em uma ImageQueryResponse fornecida.

Detalhes
Parâmetros
[in] aBuffer
Um ponteiro para um pacote para analisar a consulta de imagem.
[in] aResponse
Objeto no qual colocar o resultado
Retorna
WEAVE_NO_ERROR Em caso de êxito
Retorna
WEAVE_ERROR_BUFFER_TOO_small 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 é um dos valores especificados em IntegrityTypes