nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

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

Cela fournit une classe d'assistance pour composer une notification et épargner à ses consommateurs la construction et la structure du message.

Résumé

Il s'agit d'une version plus compacte d'une classe similaire fournie dans MessageDef.cpp, qui vise à être sensible aux besoins de flash et de RAM de l'appareil.

Fonctions publiques

Checkpoint(TLV::TLVWriter & aPoint)
Pointez l'état de la requête dans un TLVWriter.
EndDataList()
Terminez la construction du tableau de la liste de données.
EndEventList()
Terminez la création de la liste d'événements.
EndNotifyRequest()
Terminez la construction de la notification.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Initialise le compilateur.
MoveToState(NotifyRequestBuilderState aDesiredState)
Fonction principale de transition d'état.
Rollback(TLV::TLVWriter & aPoint)
Effectuez un rollback de l'état de la requête dans TLVWriter avec un point de contrôle.
StartDataList(void)
Démarre la construction du tableau de liste de données.
StartEventList()
Démarre la construction de la liste d'événements.
StartNotifyRequest()
Démarrer la construction de la notification.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Indiquez l'élément de données associé au chemin d'un trait.

Fonctions publiques

Check Point

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Pointez l'état de la requête dans un TLVWriter.

Détails
Paramètres
[out] aPoint
Un rédacteur pour vérifier l'état du rédacteur TLV.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.

EndDataList

WEAVE_ERROR EndDataList()

Terminez la construction du tableau de la liste de données.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas au niveau du conteneur DataList.
other
Impossible de construire la fin de la liste de données.

EndEventList

WEAVE_ERROR EndEventList()

Terminez la création de la liste d'événements.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas au niveau du conteneur EventList.
other
Impossible de construire la fin de la liste de données.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Terminez la construction de la notification.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas dans le conteneur "Notifier"
other
Impossible de construire la fin de la notification.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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

Initialise le compilateur.

Ne doit être appelé qu'une seule fois.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
other
Impossible d'initialiser le compilateur.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Fonction principale de transition d'état.

La fonction prend l'état souhaité (c'est-à-dire la phase du compilateur de requêtes de notification que nous souhaitons atteindre) et fait passer la requête dans cet état. Si l'état souhaité est identique à l'état actuel, la fonction n'a aucun effet. Sinon, un PacketBuffer est alloué (si nécessaire). La fonction fait d'abord la requête dans la requête de notification de niveau supérieur (soit en ouvrant la structure TLV de la requête de notification, soit en fermant le conteneur de données TLV actuel si nécessaire), puis en ouvrant le conteneur de données TLV approprié ou en fermant la requête globale de notification.

Détails
Paramètres
aDesiredState
État souhaité vers lequel la demande doit passer
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_NO_MEMORY
Impossible de passer à l'état en raison d'une mémoire insuffisante.
WEAVE_ERROR_INCORRECT_STATE
Corruption de la machine d'état interne.
other
Si la machine à états n'a pas pu enregistrer l'état dans sa mémoire tampon, cela indique probablement un défaut de conception plutôt qu'un problème d'exécution.

Rollback

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Effectuez un rollback de l'état de la requête dans TLVWriter avec un point de contrôle.

Détails
Paramètres
[in] aPoint
Un auteur qui a capturé l'État à un moment donné dans le passé
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Démarre la construction du tableau de liste de données.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas dans le conteneur "Notifier"
other
Impossible de construire le début de la liste de données.

StartEventList

WEAVE_ERROR StartEventList()

Démarre la construction de la liste d'événements.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas dans le conteneur "Notifier"
other
Impossible de construire le début de la liste de données.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Démarrer la construction de la notification.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INCORRECT_STATE
Si la requête ne se trouve pas au niveau supérieur du tampon.
other
Impossible de construire la fin de la notification.

WriteDataElement

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

Indiquez l'élément de données associé au chemin d'un trait.

L'appelant peut aussi éventuellement transmettre un ensemble de handle. Il permet d'exploiter l'opération de fusion avec un ensemble plus restreint de nœuds enfants immédiats de la poignée du chemin de la propriété parente.

Détails
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
other
Impossible de récupérer et d'écrire l'élément de données.