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. ils se différencient uniquement par le type de message, qui est en dehors du champ d'application de cet objet.

L'encodage s'effectue de manière synchrone avec la méthode EncodeRequest. La seule autre méthode publique est InsertInProgressUpdateItem, qui est appelé par SchemaEngine lorsqu'il doit renvoyer un dictionnaire à la file d'attente.

Constructeurs et destructeurs

UpdateEncoder()
~UpdateEncoder()

Fonctions publiques

EncodeRequest(Context & aContext)
Encoder une charge utile de requête de mise à jour WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Ajoutez un chemin d'accès privé à 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
)

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

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

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
Au moins un élément DataElement a été encodé dans la DataList de la charge utile.
WEAVE_ERROR_BUFFER_TOO_SMALL
Le premier élément 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é à la liste des chemins en cours, en l'insérant après celui en cours d'encodage.

Cette méthode est censée être appelée par SchemaEngine lorsqu'il traverse l'arborescence de schéma et doit repousser les dictionnaires vers la liste.

Détails
Paramètres
[in] aItem
TraitPath à insérer dans la liste en cours d'encodage.
Valeurs renvoyées
WEAVE_NO_ERROR
L'article a bien été inséré.
WEAVE_NO_MEMORY
Aucun espace disponible dans TraitPathStore pour insérer l'élément.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()