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

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

Este objeto codifica las cargas útiles UpdateRequest y PartialUpdateRequest de WDM.

Resumen

Ten en cuenta que ambas solicitudes tienen el mismo formato. Solo se diferencian por el tipo de mensaje, que está fuera del alcance de este objeto.

La codificación se realiza de forma síncrona con el método EncodeRequest. El único otro método público es InsertInProgressUpdateItem, que SchemaEngine llama cuando necesita enviar un diccionario a la cola.

Constructores y destructores

UpdateEncoder()
~UpdateEncoder()

Funciones públicas

EncodeRequest(Context & aContext)
Codifica una carga útil de solicitud de actualización de WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Agrega una ruta privada a la lista de rutas en curso y, luego, insértala después de la que se está codificando en el momento.

Structs

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

Esta estructura contiene los argumentos de E/S del método EncodeRequest.

Funciones públicas

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Codifica una carga útil de solicitud de actualización de WDM.

Consulta UpdateEncoder::Context. La longitud de los datos de PackageBuffer se actualiza solo en caso de éxito, pero el contenido del búfer no se conserva.

Detalles
Valores de retorno
WEAVE_NO_ERROR
Se codificó al menos un DataElement en la DataList de la carga útil.
WEAVE_ERROR_BUFFER_TOO_SMALL
El primer DataElement no pudo caber en la carga útil.
WEAVE_ERROR_INVALID_ARGUMENT
Se inicializó aContext con valores no válidos.
other
Otros errores de objetos de nivel inferior (TLVWriter, SchemaEngine, etcétera)

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Agrega una ruta privada a la lista de rutas en curso y, luego, insértala después de la que se está codificando en el momento.

SchemaEngine debe llamar a este método a medida que desvía el árbol del esquema y necesita enviar los diccionarios de vuelta a la lista.

Detalles
Parámetros
[in] aItem
Es la TraitPath que se debe insertar en la lista que se codifica.
Valores de retorno
WEAVE_NO_ERROR
El artículo se insertó correctamente.
WEAVE_NO_MEMORY
No había espacio en TraitPathStore para insertar el elemento.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()