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 à une application.

Résumé

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

Les gestionnaires des tâches liées aux abonnements agissent principalement comme un adaptateur léger sur l'objet ClientNotifier. Les responsables de l'implémentation des sous-classes doivent veiller à appeler les méthodes de super-classe pertinentes pour faire tourner la manivelle du gestionnaire d'abonnements.

Les méthodes de requête DMClient possèdent 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 possibilité d'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 et, dans le second cas, le premier élément de la table de liaisons est sélectionné par défaut. Cette option 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
Demandez l'affichage des données publiées.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Demander l'affichage des données sur 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 sur 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
Efface l'état interne associé à un objet DMClient.
Finalize(void)
virtual void
Arrêtez un DMClient opérationnel.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gérer l'état "incomplète" 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
)

Demandez l'affichage des données publiées.

Demande l'affichage des données hébergées et gérées par un éditeur distant spécifié.

Détails
Paramètres
[in] aDestinationId
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 d'accès encodés en TLV indiquant les données demandées.
[in] aTxnId
Identifiant de la transaction WDM configurée pour gérer cette opération de vue.
[in] aTimeout
Délai d'attente maximal, en millisecondes, d'attente de la réponse de la vue.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NO_MEMORY
Si une transaction n'a pas pu être allouée.
Renvoie
Sinon, une erreur WEAVE_ERROR reflétant 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 l'affichage des données sur l'éditeur par défaut

Demander une vue des données hébergées et gérées par la valeur l'éditeur, c'est-à-dire le premier (ou le seul) éditeur de la table de liaison du client.

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins d'accès encodés en TLV indiquant les données demandées.
[in] aTxnId
Identifiant de la transaction WDM configurée pour gérer cette opération de vue.
[in] aTimeout
Délai d'attente maximal, en millisecondes, d'attente de la réponse de la vue.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NO_MEMORY
Si une transaction n'a pas pu être allouée.
Renvoie
Sinon, une erreur WEAVE_ERROR reflétant 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.

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

Détails
Paramètres
[in] aDestinationId
Référence à l'ID de nœud 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ées en TLV et contenant une représentation de la mise à jour, y compris les chemins auxquels elle doit être appliquée.
[in] aTxnId
Identifiant de la transaction configurée pour gérer la demande de mise à jour.
[in] aTimeout
Délai d'attente maximal, en millisecondes, avant l'affichage du 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 une erreur 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 sur l'éditeur par défaut.

Demander à 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ées en TLV et contenant une représentation de la mise à jour, y compris les chemins auxquels elle doit être appliquée.
[in] aTxnId
Identifiant de la transaction configurée pour gérer la demande de mise à jour.
[in] aTimeout
Délai d'attente maximal, en millisecondes, avant l'affichage du 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 une erreur 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 kTransactionIdNotSpecification est spécifié, toutes les transactions sont annulées.
[in] aError
Valeur WEAVE_ERROR à indiquer lors de l'annulation de la transaction.
Renvoie
WEAVE_NO_ERROR en cas de réussite ou WEAVE_ERROR reflétant un échec d'annulation de la transaction.

Effacer

virtual void Clear(
  void
)

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

En particulier, cette méthode efface tous les pools de transactions client. Il est préférable d'utiliser la méthode Finalize() pour les clients qui annulent également les abonnements, et nettoie les tables de transaction et de liaison.

Voir aussi:
Finaliser()

DMClient

 DMClient(
  void
)

Constructeur par défaut pour les objets DMClient.

Efface tout l'état interne. Un DMClient (DMClient) nécessite une initialisation plus poussée avec Init() avant son utilisation.

Finaliser

virtual void Finalize(
  void
)

Arrêtez un DMClient opérationnel.

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é au cas où un DMClient nécessite un nettoyage (par exemple, en cas d'échec ou d'arrêt temporaire, mais il peut être nécessaire de les reconstituer ultérieurement.

IncompleteIndication

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

Gérer l'état "incomplète" d'une liaison utilisée par le client.

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

Détails
Paramètres
[in] aBinding
Pointeur vers la liaison qui est devenue incomplète.
[in] aReport
Référence à un rapport d'état indiquant le motif 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
)