nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

Classe de base abstraite pour les éditeurs WDM spécifiques aux applications.

Résumé

DMPublisher est la classe de base de l'éditeur WDM standard. Il s'agit d'une combinaison de la classe DM ProtocolEngine, qui gère les manœuvres de communication, et de la classe PublisherDataManager entièrement abstraite. La prise en charge des abonnements et des notifications est facultative et peut être supprimée simplement en configurant une table d'abonnement sans entrée.

Héritage

Hérite de:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Constructeurs et destructeurs

DMPublisher(void)
Constructeur par défaut pour les objets DMPublisher.
~DMPublisher(void)
Destructeur des objets DMPublisher.

Fonctions publiques

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Effacez l'état interne de l'objet DMPublisher.
Finalize(void)
virtual void
Arrêtez un DMPublisher opérationnel.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gérer une indication qu'une liaison a échoué
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Initialisez un objet DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Répondez à une demande de mise à jour.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Répondez à une demande d'affichage.

Fonctions publiques

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Effacer

virtual void Clear(
  void
)

Effacez l'état interne de l'objet DMPublisher.

Efface le pool de transactions de notification et la table d'abonnement.

DMPublisher

 DMPublisher(
  void
)

Constructeur par défaut pour les objets DMPublisher.

Efface tout l'état interne.

Finaliser

virtual void Finalize(
  void
)

Arrêtez un DMPublisher opérationnel.

Efface tout l'état de fonctionnement et arrête l'écouteur s'il est en cours d'exécution.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Gérer une indication qu'une liaison a échoué

Lorsqu'une liaison devient incomplète, c'est-à-dire lorsque la connexion est fermée pour une liaison TCP, le moteur de protocole doit faire échouer toutes les transactions qui en dépendent, ce qui implique d'appeler ses gestionnaires d'état. En outre, l'indication incomplète est transmise à tout objet de super-classe mettant en œuvre la forme alternative de cette méthode qui utilise un ID de pair.

Détails
Paramètres
[in] aBinding
Pointeur vers la liaison ayant échoué.
[in] aReport
Référence à un objet StatusReport détaillant le motif de l'échec.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Initialisez un objet DMPublisher.

Cette méthode a pour effet secondaire d'installer un écouteur dans Exchange Manager pour l'ensemble des requêtes client, y compris celles concernant l'abonnement.

Détails
Paramètres
[in] aExchangeMgr
Pointeur vers l'objet WeaveExchangeManager à utiliser pour toutes les places de marché auxquelles l'éditeur souhaite participer.
[in] aResponseTimeout
Délai avant expiration de la réponse en millisecondes, c'est-à-dire le délai maximal d'attente d'une réponse.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant un problème de configuration de l'éditeur.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Répondez à une demande de mise à jour.

Envoyez la réponse à une demande de mise à jour après le traitement, en utilisant le contexte d'échange fourni dans l'indication.

Détails
Paramètres
[in] aResponseCtx
Pointeur vers le contexte de l'échange dans lequel la requête a été reçue.
[in] aStatus
Référence à un objet StatusReport contenant des informations sur l'état de la demande.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'échec de l'envoi du message de réponse.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Répondez à une demande d'affichage.

Envoyez la réponse à une demande de vue après le traitement, en utilisant le contexte d'échange fourni dans l'indication.

Détails
Paramètres
[in] aResponseCtx
Pointeur vers le contexte de l'échange dans lequel la requête a été reçue.
[in] aStatus
Référence à un objet StatusReport contenant des informations sur l'état de la demande. Si cela aboutit, le demandeur s'attendra à une liste de données contenant les données qui l'intéressent.
[in] aDataList
Pointeur vers un objet ReferencedTLVData facultatif contenant une liste de données encodées en TLV contenant les données d'intérêt et les chemins indiquant la disposition de ces données. Notez que ce paramètre doit être NULL si l'état indiqué dans le paramètre précédent échoue.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant un échec d'envoi du message de réponse.
WEAVE_ERROR_INVALID_ARGUMENT
Si les paramètres donnés sont incohérents
WEAVE_ERROR_NO_MEMORY
Si un tampon Inet n'a pas pu être alloué.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Destructeur des objets DMPublisher.

Efface tout l'état interne et supprime l'écouteur du gestionnaire d'échanges, le cas échéant.