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