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 |
|
||||||||
Valeurs de retour |
|
||||||||
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 |
|
||||||
Valeurs de retour |
|
||||||
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 |
|
||||||||
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 |
|
||||||
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 |
|
||||
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 )
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 |
|
~DMClient
virtual ~DMClient( void )
Destructeur des objets DMClient.
Efface tout l'état interne et, si nécessaire, annule les abonnements en attente.