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

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

Classe auxiliaire contenant le type d'intégrité et le hachage réel de l'image de mise à jour logicielle.

Résumé

L'objet contient le champ IntegrityTypes, qui spécifie le type de hachage et le hachage réel de l'image de mise à jour logicielle. La longueur du hachage est fixe en fonction du type de hachage. L'objet est dimensionné pour contenir la plus grande valeur de hachage compatible.

Constructeurs et destructeurs

IntegritySpec()
Constructeur par défaut pour IntegritySpec.

Attributs publics

type
uint8_t
Type du hachage, valeur à extraire de IntegrityTypes.
value[64]
uint8_t
Séquence d'octets de longueur variable contenant la valeur d'intégrité de l'image logicielle identifiée par le champ URI.

Fonctions publiques

init(uint8_t, uint8_t *)
Initialisez explicitement l'objet IntegritySpec avec les valeurs fournies.
operator==(const IntegritySpec &) const
bool
Opérateur d'égalité.
pack(MessageIterator &)
Sérialisez IntegritySpec dans MessageIterator fourni.

Fonctions statiques publiques

parse(MessageIterator &, IntegritySpec &)
Désérialiser l'objet du MessageIterator fourni en IntegritySpec fourni

Attributs publics

type

uint8_t type

Type du hachage, valeur à extraire de IntegrityTypes.

valeur

uint8_t value[64]

Séquence d'octets de longueur variable contenant la valeur d'intégrité de l'image logicielle identifiée par le champ URI.

La valeur d'intégrité est calculée en appliquant la fonction d'intégrité spécifiée par le type d'intégrité au contenu de l'image de mise à jour logicielle accessible à l'URI spécifié ci-dessus. La spécification d'intégrité permet au client de confirmer que l'image téléchargée correspond à l'image spécifiée dans cette réponse.

Fonctions publiques

IntegritySpec

 IntegritySpec()

Constructeur par défaut pour IntegritySpec.

L'objet doit être initialisé soit via la méthode init(), soit en le désérialisant à partir d'un message.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Initialisez explicitement l'objet IntegritySpec avec les valeurs fournies.

Détails
Paramètres
[in] aType
Valeur de type d'intégrité extraite de IntegrityTypes
[in] aValue
Valeur de hachage de la longueur appropriée représentée sous la forme d'une chaîne empaquetée d'octets
Renvoie
WEAVE_NO_ERROR En cas de réussite
Renvoie
WEAVE_ERROR_INVALID_INTEGRITY_TYPE : si le type d'intégrité fourni n'est pas l'une des valeurs spécifiées dans IntegrityTypes

opérateur==

bool operator==(
  const IntegritySpec &
) const 

Opérateur d'égalité.

Détails
Paramètres
another
Un élément IntegritySpec à vérifier par rapport à IntegritySpec.
Renvoie
"true" si tous les champs des deux objets sont égaux, "false" dans le cas contraire

pack

WEAVE_ERROR pack(
  MessageIterator &
)

Sérialisez IntegritySpec dans MessageIterator fourni.

Détails
Paramètres
[in] i
Itérateur du message en cours de regroupement
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si l'élément IntegritySpec est trop grand pour tenir dans le message.

Fonctions statiques publiques

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Désérialiser l'objet du MessageIterator fourni en IntegritySpec fourni

Détails
Paramètres
[in] i
Itérateur sur le message en cours d'analyse
[in] aSpec
Référence à un objet pour contenir le résultat
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
Valeurs renvoyées
WEAVE_ERROR_BUFFER_TOO_SMALL
Si le message ne contenait pas assez d'octets pour le type d'intégrité et le hachage associé
Renvoie
WEAVE_ERROR_INVALID_INTEGRITY_TYPE : si le type d'intégrité fourni n'est pas l'une des valeurs spécifiées dans IntegrityTypes