En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: DataManagement_Current :: NotificationEngine :: NotifyRequestBuilder

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

Esto proporciona una clase auxiliar para redactar notificaciones y abstraer la construcción y estructura del mensaje de sus consumidores.

Resumen

Esta es una versión más compacta de una clase similar proporcionada en MessageDef.cpp que tiene como objetivo ser sensible a las necesidades de memoria flash y RAM del dispositivo.

Funciones publicas

Checkpoint (TLV::TLVWriter & aPoint)
Compruebe el estado de la solicitud en un TLVWriter.
EndDataList ()
Finalice la construcción de la matriz de la lista de datos.
EndEventList ()
Finalice la construcción de la lista de eventos.
EndNotifyRequest ()
Termine la construcción de la notificación.
GetWriter (void)
Init (PacketBuffer *aBuf,TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Inicializa el constructor.
MoveToState ( NotifyRequestBuilderState aDesiredState)
La función principal de transición de estado.
Rollback (TLV::TLVWriter & aPoint)
Revertir el estado de la solicitud al TLVWriter con punto de control.
StartDataList (void)
Inicia la construcción de la matriz de la lista de datos.
StartEventList ()
Inicia la construcción de la lista de eventos.
StartNotifyRequest ()
Inicie la construcción de la notificación.
WriteDataElement (TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Dada una ruta de rasgo, escriba el elemento de datos asociado con esa ruta.

Funciones publicas

Control

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Compruebe el estado de la solicitud en un TLVWriter.

Detalles
Parámetros
[out] aPoint
Un escritor para verificar el estado del escritor de TLV .
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.

EndDataList

WEAVE_ERROR EndDataList()

Finalice la construcción de la matriz de la lista de datos.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el contenedor DataList.
other
No se pudo construir el final de la lista de datos.

EndEventList

WEAVE_ERROR EndEventList()

Finalice la construcción de la lista de eventos.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el contenedor EventList.
other
No se pudo construir el final de la lista de datos.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Termine la construcción de la notificación.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el contenedor Notificar.
other
No se pudo construir el final de la notificación.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

En eso

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

Inicializa el constructor.

Solo debe llamarse una vez.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
other
No se pudo inicializar el constructor.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

La función principal de transición de estado.

La función toma el estado deseado (es decir, la fase del constructor de solicitudes de notificación a la que nos gustaría llegar) y cambia la solicitud a ese estado. Si el estado deseado es el mismo que el estado actual, la función no hace nada. De lo contrario, se asigna un PacketBuffer (si es necesario); la función primero hace la transición de la solicitud a la solicitud de notificación de nivel superior (ya sea abriendo la estructura TLV de la solicitud de notificación o cerrando el contenedor de datos TLV actual según sea necesario), y luego realiza la transición de la solicitud de notificación abriendo el contenedor de datos TLV apropiado o cerrando la Notificar solicitud.

Detalles
Parámetros
aDesiredState
El estado deseado al que debe pasar la solicitud
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NO_MEMORY
No se pudo realizar la transición al estado debido a memoria insuficiente.
WEAVE_ERROR_INCORRECT_STATE
Corrupción de la máquina de estado interna.
other
Cuando la máquina de estado no pudo registrar el estado en su búfer, probablemente indica una falla de diseño en lugar de un problema de tiempo de ejecución.

Retroceder

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Revertir el estado de la solicitud al TLVWriter con punto de control.

Detalles
Parámetros
[in] aPoint
Un escritor que capturó el estado en algún momento del pasado.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Inicia la construcción de la matriz de la lista de datos.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el contenedor Notificar.
other
No se pudo construir el comienzo de la lista de datos.

StartEventList

WEAVE_ERROR StartEventList()

Inicia la construcción de la lista de eventos.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el contenedor Notificar.
other
No se pudo construir el comienzo de la lista de datos.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Inicie la construcción de la notificación.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_INCORRECT_STATE
Si la solicitud no está en el nivel superior del búfer.
other
No se pudo construir el final de la notificación.

WriteDataElement

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

Dada una ruta de rasgo, escriba el elemento de datos asociado con esa ruta.

La persona que llama también puede pasar opcionalmente un conjunto de identificador que permite aprovechar la operación de combinación con un conjunto más estrecho de nodos secundarios inmediatos del identificador de ruta de la propiedad principal.

Detalles
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
other
No se puede recuperar y escribir el elemento de datos.