nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

Uma classe auxiliar que contém o tipo de integridade e o hash real da imagem de atualização do software.

Resumo

O objeto contém o campo IntegrityTypes que especifica o tipo do hash e o hash real da imagem de atualização do software. O tamanho do hash é fixo com base no tipo dele. O objeto é dimensionado para conter o maior dos hashes compatíveis.

Construtores e destruidores

IntegritySpec()
O construtor padrão para IntegritySpec.

Atributos públicos

type
uint8_t
Tipo do hash, valor a ser extraído de IntegrityTypes.
value[64]
uint8_t
Uma sequência de comprimento variável de bytes contendo o valor de integridade da imagem do software identificada pelo campo "URI".

Funções públicas

init(uint8_t, uint8_t *)
Inicialize explicitamente o objeto IntegritySpec com os valores fornecidos.
operator==(const IntegritySpec &) const
bool
Um operador de igualdade.
pack(MessageIterator &)
Serialize o IntegritySpec no MessageIterator fornecido.

Funções estáticas públicas

parse(MessageIterator &, IntegritySpec &)
Desserializa o objeto do MessageIterator fornecido no IntegritySpec.

Atributos públicos

tipo

uint8_t type

Tipo do hash, valor a ser extraído de IntegrityTypes.

valor

uint8_t value[64]

Uma sequência de comprimento variável de bytes contendo o valor de integridade da imagem do software identificada pelo campo "URI".

O valor de integridade é calculado aplicando a função de integridade especificada pelo tipo de integridade ao conteúdo da imagem de atualização de software acessada no URI especificado acima. A especificação de integridade permite que o cliente confirme que a imagem transferida por download corresponde à imagem especificada nessa resposta.

Funções públicas

IntegritySpec

 IntegritySpec()

O construtor padrão para IntegritySpec.

É necessário inicializar o objeto pelo método init() ou desserializá-lo em uma mensagem.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Inicialize explicitamente o objeto IntegritySpec com os valores fornecidos.

Detalhes
Parâmetros
[in] aType
Um valor de tipo de integridade extraído de IntegrityTypes.
[in] aValue
Um valor de hash do comprimento apropriado representado como uma string empacotada de bytes
Retornos
WEAVE_NO_ERROR Em caso de sucesso
Retornos
WEAVE_ERROR_INVALID_INTEGRITY_TYPE: quando o tipo de integridade fornecido não é um dos valores especificados em IntegrityTypes.

operador==

bool operator==(
  const IntegritySpec &
) const 

Um operador de igualdade.

Detalhes
Parâmetros
another
Um IntegritySpec para comparar com esse IntegritySpec
Retornos
verdadeiro se todos os campos nos dois objetos forem iguais; caso contrário, falso

pacote

WEAVE_ERROR pack(
  MessageIterator &
)

Serialize o IntegritySpec no MessageIterator fornecido.

Detalhes
Parâmetros
[in] i
Um iterador na mensagem que está sendo empacotada
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se IntegritySpec for muito grande para caber na mensagem.

Funções estáticas públicas

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Desserializa o objeto do MessageIterator fornecido no IntegritySpec.

Detalhes
Parâmetros
[in] i
Um iterador na mensagem que está sendo analisada.
[in] aSpec
Uma referência a um objeto para conter o resultado
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
Valores de retorno
WEAVE_ERROR_BUFFER_TOO_SMALL
Se a mensagem não contiver bytes suficientes para o tipo de integridade e o hash associado
Retornos
WEAVE_ERROR_INVALID_INTEGRITY_TYPE: quando o tipo de integridade fornecido não é um dos valores especificados em IntegrityTypes.