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 de software.

Resumo

O objeto contém o campo IntegrityTypes, que especifica o tipo de 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 aceitos.

Construtores e destrutores

IntegritySpec()
O construtor padrão para IntegritySpec.

Atributos públicos

type
uint8_t
Tipo de hash, valor a ser extraído de IntegrityTypes.
value[64]
uint8_t
Uma sequência de comprimento variável de bytes que contém 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 para o MessageIterator fornecido.

Funções estáticas públicas

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

Atributos públicos

digitar

uint8_t type

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

valor

uint8_t value[64]

Uma sequência de comprimento variável de bytes que contém 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 na resposta.

Funções públicas

IntegritySpec

 IntegritySpec()

O construtor padrão para IntegritySpec.

O objeto precisa ser inicializado com o método init() ou por meio da desserialização de 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 tamanho apropriado representado como uma string de bytes empacotada
Retorna
WEAVE_NO_ERROR Em caso de êxito
Retorna
WEAVE_ERROR_INVALID_INTEGRITY_TYPE se 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 verificar esse IntegritySpec.
Retorna
verdadeiro se todos os campos em ambos os objetos forem iguais. Caso contrário, será falso

pacote

WEAVE_ERROR pack(
  MessageIterator &
)

Serialize o IntegritySpec para o MessageIterator fornecido.

Detalhes
Parâmetros
[in] i
Um iterador sobre a mensagem que está sendo empacotada
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
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 fornecido.

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 der certo.
Valores de retorno
WEAVE_ERROR_BUFFER_TOO_SMALL
Se a mensagem não tinha bytes suficientes para o tipo de integridade e o hash associado
Retorna
WEAVE_ERROR_INVALID_INTEGRITY_TYPE se o tipo de integridade fornecido não é um dos valores especificados em IntegrityTypes