nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

Classe de base abstraite pour les clients WDM spécifiques à l'application.

Résumé

DMClient est le client WDM standard. L'implémentation inclut un abonnement/une notification (facultatif). Il s'agit d'une combinaison de la classe DM ProtocolEngine, qui gère le tour de manœuvre des communications, et de la classe ClientDataManager entièrement abstraite. Certaines méthodes liées aux abonnements sont implémentées pour que les couches supérieures n'aient pas à s'en soucier.

Les gestionnaires des tâches liées aux abonnements agissent principalement en tant qu'adaptateurs légers sur l'objet ClientNotifier. Les spécialistes de l'implémentation des sous-classes doivent appeler les méthodes de super-classe pertinentes pour tourner la manivelle du gestionnaire d'abonnements.

Les méthodes de requête DMClient comportent généralement deux signatures, l'une avec un ID de nœud de destination explicite et l'autre avec une destination spécifiée. Dans les deux cas, la capacité à envoyer un message à un éditeur dépend d'une liaison préexistante dans le client, mais dans le premier cas, l'ID de destination est destiné à choisir entre plusieurs destinations liées. Dans le second cas, le premier élément du tableau de liaison est sélectionné par défaut. Cela est utile, par exemple, si le client n'est lié qu'à un seul éditeur.

Héritage

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

Constructeurs et destructeurs

DMClient(void)
Constructeur par défaut pour les objets DMClient.
~DMClient(void)
Destructeur des objets DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Demander une vue des données publiées
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Demander la consultation des données de l'éditeur par défaut
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Demandez la mise à jour des données publiées.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Demandez la mise à jour des données de l'éditeur par défaut.

Attributs protégés

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Fonctions publiques

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Demande l'annulation d'une transaction en cours d'exécution.
Clear(void)
virtual void
Effacez l'état interne associé à un objet DMClient.
Finalize(void)
virtual void
Arrêtez un DMClient en cours d'exploitation.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gérer l'"inachèvement" d'une liaison utilisée par le client.

Fonctions protégées

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Demander une vue des données publiées

Permet de demander une vue des données qui résident et sont gérées par un éditeur distant spécifié.

Détails
Paramètres
[in] aDestinationId
Une référence à l'ID de nœud 64 bits de l'éditeur distant.
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins encodées en TLV indiquant les données demandées.
[in] aTxnId
Identifiant de la transaction WDM configurée pour gérer cette opération d'affichage.
[in] aTimeout
Délai d'attente maximal de la réponse d'affichage, en millisecondes.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_NO_MEMORY
Si une transaction n'a pas pu être allouée.
Renvoie
Sinon, une erreur WEAVE_ERROR indique l'échec de l'initialisation ou du démarrage de la transaction.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Demander la consultation des données de l'éditeur par défaut

Permet de demander une vue des données résidant sur l'éditeur "par défaut" et gérées par celui-ci, c'est-à-dire le premier (ou le seul) éditeur dans la table de liaison du client.

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins encodées en TLV indiquant les données demandées.
[in] aTxnId
Identifiant de la transaction WDM configurée pour gérer cette opération d'affichage.
[in] aTimeout
Délai d'attente maximal de la réponse d'affichage, en millisecondes.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_NO_MEMORY
Si une transaction n'a pas pu être allouée.
Renvoie
Sinon, une erreur WEAVE_ERROR indique l'échec de l'initialisation ou du démarrage de la transaction.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Demandez la mise à jour des données publiées.

Demandez à un éditeur distant de mettre à jour les données gérées.

Détails
Paramètres
[in] aDestinationId
Une référence à l'ID de nœud de 64 bits de l'éditeur distant auquel la requête est envoyée.
[in] aDataList
Référence à un objet ReferencedTLVData contenant une liste de données encodée en TLV qui contient une représentation de la mise à jour, y compris les chemins d'accès auxquels la mise à jour doit être appliquée.
[in] aTxnId
Identifiant de la transaction configurée pour gérer la requête de mise à jour.
[in] aTimeout
Délai d'attente maximal en millisecondes pour le rapport d'état correspondant.
Renvoie
WEAVE_NO_ERROR en cas de réussite ou WEAVE_ERROR_NO_MEMORY si une transaction de mise à jour n'a pas pu être allouée. Sinon, renvoyez WEAVE_ERROR reflétant un échec de mise à jour.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Demandez la mise à jour des données de l'éditeur par défaut.

Demandez à un éditeur distant de mettre à jour les données gérées. Cette version dirige la requête vers l'éditeur qui est la cible de la liaison par défaut du client.

Détails
Paramètres
[in] aDataList
Référence à un objet ReferencedTLVData contenant une liste de données encodée en TLV qui contient une représentation de la mise à jour, y compris les chemins d'accès auxquels la mise à jour doit être appliquée.
[in] aTxnId
Identifiant de la transaction configurée pour gérer la requête de mise à jour.
[in] aTimeout
Délai d'attente maximal en millisecondes pour le rapport d'état correspondant.
Renvoie
WEAVE_NO_ERROR en cas de réussite ou WEAVE_ERROR_NO_MEMORY si une transaction de mise à jour n'a pas pu être allouée. Sinon, renvoyez WEAVE_ERROR reflétant un échec de mise à jour.

Attributs protégés

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Fonctions publiques

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Demande l'annulation d'une transaction en cours d'exécution.

Cette méthode ne génère pas de trafic réseau, mais libère simplement les ressources allouées aux transactions spécifiées.

Détails
Paramètres
[in] aTxnId
Numéro de la transaction à annuler. Si kTransactionIdNotSpecified est définie, toutes les transactions sont annulées.
[in] aError
Le paramètre WEAVE_ERROR à signaler lors de l'annulation de la transaction.
Renvoie
WEAVE_NO_ERROR en cas de réussite, ou WEAVE_ERROR reflétant l'échec de l'annulation de la transaction.

Effacer

virtual void Clear(
  void
)

Effacez l'état interne associé à un objet DMClient.

En particulier, cette méthode efface tous les pools de transactions client. Pour les clients qui ont utilisé la méthode Finalize(), car elle annule également les abonnements et nettoie les tables de transactions et de liaison.

Voir aussi:
Finalize()

DMClient

 DMClient(
  void
)

Constructeur par défaut pour les objets DMClient.

Efface tout l'état interne. Un DMClient nécessite une initialisation supplémentaire avec Init() avant de pouvoir être utilisé.

Finaliser

virtual void Finalize(
  void
)

Arrêtez un DMClient en cours d'exploitation.

Efface tous les états de fonctionnement associés au client et supprime tous les abonnements associés du système d'alerte. Après un appel à Finalize(), un DMClient peut être réinitialisé simplement en appelant Init(). Finalize() est invoqué par le destructeur DMClient, mais peut être appelé si un DMClient nécessite un nettoyage, par exemple en cas d'échec ou d'arrêt temporaire, mais qui devra peut-être être reconstitué ultérieurement.

IncompleteIndication

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

Gérer l'"inachèvement" d'une liaison utilisée par le client.

Lorsqu'une liaison échoue de manière inattendue (par exemple, si la connexion impliquée est fermée), cette méthode est appelée.

Détails
Paramètres
[in] aBinding
Pointeur vers la liaison Binding devenue incomplète.
[in] aReport
Référence à un rapport d'état indiquant la raison de l'échec.

~DMClient

virtual  ~DMClient(
  void
)

Destructeur des objets DMClient.

Efface tout l'état interne et, si nécessaire, annule les abonnements en attente.

Fonctions protégées

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)