nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

#include <src/lib/profiles/data-management/Current/UpdateEncoder.h>

Cet objet encode les charges utiles WDM UpdateRequest et PartialUpdateRequest.

Résumé

Notez que les deux requêtes ont le même format. Elles ne se différencient que par le type de message, qui est en dehors du champ d'application de cet objet.

L'encodage est effectué de manière synchrone par la méthode EncodeRequest. La seule autre méthode publique est InsertInProgressUpdateItem. Elle est appelée par SchemaEngine lorsqu'il doit renvoyer un dictionnaire dans la file d'attente.

Constructeurs et destructeurs

UpdateEncoder()
~UpdateEncoder()

Fonctions publiques

EncodeRequest(Context & aContext)
Encodez une charge utile de requête de mise à jour WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Ajoutez un chemin d'accès privé dans la liste des chemins en cours, en l'insérant après celui en cours d'encodage.

Structs

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

Cette structure contient les arguments d'E/S de la méthode EncodeRequest.

Fonctions publiques

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Encodez une charge utile de requête de mise à jour WDM.

Consultez UpdateEncoder::Context. La longueur des données de la classe PacketBuffer n'est mise à jour qu'en cas de réussite, mais le contenu du tampon n'est pas conservé.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Au moins un élément DataElement a été encodé dans la liste DataList de la charge utile.
WEAVE_ERROR_BUFFER_TOO_SMALL
Le premier DataElement n'a pas pu tenir dans la charge utile.
WEAVE_ERROR_INVALID_ARGUMENT
aContext a été initialisé avec des valeurs non valides.
other
Autres erreurs provenant d'objets de niveau inférieur (TLVWriter, SchemaEngine, etc.)

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Ajoutez un chemin d'accès privé dans la liste des chemins en cours, en l'insérant après celui en cours d'encodage.

Cette méthode est destinée à être appelée par SchemaEngine lors du balayage de l'arborescence de schémas, et il doit repousser les dictionnaires dans la liste.

Détails
Paramètres
[in] aItem
TraitPath à insérer dans la liste en cours d'encodage.
Valeurs de retour
WEAVE_NO_ERROR
L'article a bien été inséré.
WEAVE_NO_MEMORY
Il n'y avait pas d'espace dans TraitPathStore pour insérer l'élément.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()