nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
La classe base astratta per i client WDM specifici dell'applicazione.
Riepilogo
DMClient è il client WDM standard. L'implementazione include facoltativamente un abbonamento/una notifica. È una combinazione della classe DM ProtocolEngine, che gestisce l'inversione delle comunicazioni, e della classe ClientDataManager completamente astratta, con alcuni metodi relativi all'abbonamento implementati in modo che i livelli più alti non debbano preoccuparsene.
I gestori per le attività relative agli abbonamenti agiscono principalmente come un adattatore thin rispetto all'oggetto ClientNotifier. Gli utenti che implementano le sottoclassi devono assicurarsi di chiamare i metodi pertinenti della superclasse per attivare la gestione degli abbonamenti.
I metodi di richiesta DMClient hanno in genere due firme, una con un ID nodo di destinazione esplicito e l'altra con una destinazione specificata. In entrambi i casi, la possibilità di inviare un messaggio a un publisher dipende da un'associazione preesistente nel client, ma, nel primo caso, l'ID destinazione deve selezionare tra più destinazioni associate e, nel secondo caso, il primo elemento della tabella di associazione viene selezionato per impostazione predefinita. Questa opzione è utile, ad esempio, se il cliente viene vincolato a un solo publisher.
Eredità
Eredita da:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Costruttori e distruttori |
|
---|---|
DMClient(void)
Il costruttore predefinito per gli oggetti DMClient.
|
|
~DMClient(void)
Il distruttore per gli oggetti DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Richiedi una visualizzazione dei dati pubblicati.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Richiedi una visualizzazione dei dati sul publisher predefinito.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Richiedi un aggiornamento dei dati pubblicati.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Richiedi un aggiornamento dei dati relativi al publisher predefinito.
|
Attributi protetti |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funzioni pubbliche |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Richiedi l'annullamento di una transazione in esecuzione.
|
Clear(void)
|
virtual void
Cancella lo stato interno associato a un oggetto DMClient.
|
Finalize(void)
|
virtual void
Arresta un DMClient operativo.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Gestire l'elemento "incompleto" di un'associazione in uso dal client.
|
Funzioni protette |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Richiedi una visualizzazione dei dati pubblicati.
Richiedi una visualizzazione dei dati che risiedono e gestiti da un publisher remoto specificato.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
||||||||
Restituisce |
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'errore di inizializzazione o avvio della transazione.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Richiedi una visualizzazione dei dati sul publisher predefinito.
Richiedi una visualizzazione dei dati che risiedono e gestiti dal "predefinito" publisher, ovvero il primo (o l'unico) publisher nella tabella di associazione del cliente.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
||||||
Restituisce |
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'errore di inizializzazione o avvio della transazione.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Richiedi un aggiornamento dei dati pubblicati.
Richiedi che un publisher remoto aggiorni i dati gestiti.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Restituisce |
WEAVE_NO_ERROR se l'operazione è andata a buon fine o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. In caso contrario, restituisci un errore WEAVE_ERROR che indica un errore di aggiornamento.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Richiedi un aggiornamento dei dati relativi al publisher predefinito.
Richiedi che un publisher remoto aggiorni i dati gestiti. Questa versione indirizza la richiesta al publisher target dell'associazione predefinita del client.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
WEAVE_NO_ERROR se l'operazione è andata a buon fine o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. In caso contrario, restituisci un errore WEAVE_ERROR che indica un errore di aggiornamento.
|
Attributi protetti
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Funzioni pubbliche
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Richiedi l'annullamento di una transazione in esecuzione.
Questo metodo non genera traffico di rete, ma rilascia solo risorse allocate per le transazioni specificate
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo o WEAVE_ERROR che indica un errore di annullamento della transazione.
|
Cancella
virtual void Clear( void )
Cancella lo stato interno associato a un oggetto DMClient.
In particolare, questo metodo cancella tutti i pool di transazioni client. Per i clienti che sono già in uso, è preferibile il metodo Finalize(), in quanto annulla anche gli abbonamenti ed elimina le tabelle delle transazioni e di associazione.
Vedi anche:Finalizza()
DMClient
DMClient( void )
Finalizza
virtual void Finalize( void )
Arresta un DMClient operativo.
Cancella tutti gli stati operativi associati al client e rimuove tutte le sottoscrizioni correlate dall'autore della notifica. Dopo una chiamata a Finalize(), un DMClient può essere reinizializzato semplicemente chiamando Init(). Finalize() viene richiamato dal distruttore DMClient, ma può essere chiamato nel caso in cui DMClient richieda la pulizia, ad esempio. in caso di errore o di arresto temporaneo, ma potrebbe essere necessario ricostituire il server in un secondo momento.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Gestire il "completamento" di un'associazione in uso dal client.
Quando un'associazione non riesce in modo imprevisto, ad esempio. Se la connessione coinvolta nell'associazione viene chiusa, viene chiamato questo metodo.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
~DMClient
virtual ~DMClient( void )
Il distruttore per gli oggetti DMClient.
Cancella tutti gli stati interni e, se necessario, annulla gli abbonamenti in sospeso.