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

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

Une classe permettant de créer et de décoder les messages de réponse à une requête d'image.

Résumé

Le message de réponse à la requête d'image se présente comme suit:

Longueur Nom du champ
variable URI
variable Spécification de la version
variable Spécification d'intégrité
1 octet Mettre à jour le schéma
1 octet Options de mise à jour
Le format du champ des options de mise à jour (facultatif) est le suivant:

Foret Signification
0..2 Priorité de mise à jour
3..4 Mettre à jour la condition
5 État du rapport. Une fois défini, le client est invité à générer les messages facultatifs DownloadNotifier et UpdateNotifier.
5..7 Réservé
La réponse à la requête d'image n'est envoyée que si la requête d'image a été correctement traitée et génère une image à télécharger. Le message constitue des instructions de téléchargement pour le nœud à l'origine de la requête. Notez que si le serveur ne parvient pas à traiter la requête d'image, il générera un état de requête d'image.

Constructeurs et destructeurs

ImageQueryResponse()
Constructeur par défaut pour ImageQueryResponse.

Attributs publics

integritySpec
Champ contenant les informations sur l'intégrité (type d'intégrité et hachage) de l'image de mise à jour logicielle.
reportStatus
bool
Demande d'informer le serveur de la progression de la mise à jour logicielle via les messages facultatifs DownloadNotifier et UpdateNotifier.
updateCondition
Instructions relatives aux conditions dans lesquelles effectuer la mise à jour du logiciel.
updatePriority
Instructions indiquant à l'appareil quand effectuer la mise à jour logicielle.
updateScheme
uint8_t
Schéma de mise à jour à utiliser pour télécharger l'image de mise à jour logicielle.
uri
Chaîne UTF-8 de longueur variable contenant l'emplacement de l'image logicielle.
versionSpec
Chaîne UTF-8 de longueur variable contenant une identification de la version logicielle spécifique au fournisseur.

Fonctions publiques

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Initialisez explicitement l'objet ImageQueryResponse avec les valeurs fournies.
operator==(const ImageQueryResponse &) const
bool
Opérateur d'égalité.
pack(PacketBuffer *)
Sérialisez ImageQueryResponse dans le objet PacketBuffer fourni.
print(void)
void

Fonctions statiques publiques

parse(PacketBuffer *, ImageQueryResponse &)
Désérialiser le message de réponse à la requête d'image fourni dans un PacketBuffer dans une réponse ImageQueryResponse fournie.

Attributs publics

integritySpec

IntegritySpec integritySpec

Champ contenant les informations sur l'intégrité (type d'intégrité et hachage) de l'image de mise à jour logicielle.

reportStatus

bool reportStatus

Demande d'informer le serveur de la progression de la mise à jour logicielle via les messages facultatifs DownloadNotifier et UpdateNotifier.

updateCondition

UpdateCondition updateCondition

Instructions relatives aux conditions dans lesquelles effectuer la mise à jour du logiciel.

updatePriority

UpdatePriority updatePriority

Instructions indiquant à l'appareil quand effectuer la mise à jour logicielle.

updateScheme

uint8_t updateScheme

Schéma de mise à jour à utiliser pour télécharger l'image de mise à jour logicielle.

Sa valeur provient de UpdateSchemes.

uri

ReferencedString uri

Chaîne UTF-8 de longueur variable contenant l'emplacement de l'image logicielle.

Le contenu de cette chaîne doit être conforme à la spécification RFC 3986. Pour les schémas de mise à jour correspondant à un protocole Internet bien défini (HTTP, HTTPS, SFTP), l'élément de schéma de l'URI DOIT être conforme au codage d'URL canonique pour ce schéma de protocole. La longueur de la chaîne ne doit pas dépasser 65 565 caractères et elle doit tenir dans un seul message Weave, qui peut être soumis à des limites de MTU.

versionSpec

ReferencedString versionSpec

Chaîne UTF-8 de longueur variable contenant une identification de la version logicielle spécifique au fournisseur.

La chaîne ne doit pas dépasser 256 octets.

Fonctions publiques

ImageQueryResponse

 ImageQueryResponse()

Constructeur par défaut pour ImageQueryResponse.

La réponse ImageQueryResponse peut être renseignée à l'aide de la méthode init() ou en désérialisant l'objet à partir d'un message.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Initialisez explicitement l'objet ImageQueryResponse avec les valeurs fournies.

Détails
Paramètres
[in] aUri
URI à partir duquel la nouvelle image du micrologiciel doit être trouvée.
[in] aVersion
Chaîne de version de cette image.
[in] aIntegrity
Spécification d'intégrité correspondant à la nouvelle image.
[in] aScheme
Schéma de mise à jour à utiliser pour le téléchargement.
[in] aPriority
Priorité de mise à jour associée à cette mise à jour.
[in] aCondition
Condition dans laquelle la mise à jour doit être effectuée.
[in] aReportStatus
Si la valeur est "true", le client doit générer un rapport après le téléchargement et la mise à jour. Sinon, il ne générera pas de rapport.
Renvoie
WEAVE_NO_ERROR sans condition.

opérateur==

bool operator==(
  const ImageQueryResponse &
) const 

Opérateur d'égalité.

Détails
Paramètres
another
Une réponse ImageQueryResponse à vérifier par rapport à ImageQueryResponse
Renvoie
"true" si tous les champs des deux objets sont égaux, "false" dans le cas contraire

pack

WEAVE_ERROR pack(
  PacketBuffer *
)

Sérialisez ImageQueryResponse dans le objet PacketBuffer fourni.

Détails
Paramètres
[in] aBuffer
Un tampon de paquets dans lequel empaqueter la réponse à la requête
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si la réponse ImageQueryResponse est trop grande pour tenir dans la mémoire tampon fournie.

imprimer

void print(
  void
)

Fonctions statiques publiques

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Désérialiser le message de réponse à la requête d'image fourni dans un PacketBuffer dans une réponse ImageQueryResponse fournie.

Détails
Paramètres
[in] aBuffer
Un pointeur vers un paquet à partir duquel la requête d'image doit être analysée
[in] aResponse
Objet dans lequel placer le résultat
Renvoie
WEAVE_NO_ERROR En cas de réussite
Renvoie
WEAVE_ERROR_BUFFER_TOO_Small. Si le message était trop petit pour contenir tous les champs de la classe ImageQuery
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