nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

La classe di base astratta per i publisher WDM specifici dell'applicazione.

Riepilogo

DMPublisher è la classe base del publisher WDM standard. Si tratta di un mix della classe DM ProtocolEngine, che gestisce le comunicazioni a manovella, e la classe PublisherDataManager completamente astratta. Il supporto per l'abbonamento e le notifiche è facoltativo e può essere soppresso semplicemente configurando una tabella delle sottoscrizioni senza voci.

Eredità

Eredita da:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Costruttori e distruttori

DMPublisher(void)
Il costruttore predefinito per gli oggetti DMPublisher.
~DMPublisher(void)
Il distruttore per gli oggetti DMPublisher.

Funzioni pubbliche

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Cancella lo stato interno dell'oggetto DMPublisher.
Finalize(void)
virtual void
Arresta un DMPublisher operativo.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gestisci un'indicazione che l'associazione non è riuscita.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Inizializza un oggetto DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Rispondere a una richiesta di aggiornamento.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Rispondere a una richiesta di visualizzazione.

Funzioni pubbliche

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Cancella

virtual void Clear(
  void
)

Cancella lo stato interno dell'oggetto DMPublisher.

Cancella il pool di transazioni di notifica e la tabella degli abbonamenti.

DMPublisher

 DMPublisher(
  void
)

Il costruttore predefinito per gli oggetti DMPublisher.

Cancella tutto lo stato interno.

Finalizza

virtual void Finalize(
  void
)

Arresta un DMPublisher operativo.

Cancella tutto lo stato operativo e arresta il listener se uno è in esecuzione.

IncompleteIndication

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

Gestisci un'indicazione che l'associazione non è riuscita.

Quando un'associazione diventa incompleta, ovvero quando la connessione viene chiusa per un'associazione TCP, il motore di protocollo non riesce a completare tutte le transazioni dipendenti da quest'ultima, incluse le chiamate ai relativi gestori di stato. Inoltre, l'indicazione incompleta viene passata a qualsiasi oggetto superclasse che implementa la forma alternativa di questo metodo che accetta un ID peer.

Dettagli
Parametri
[in] aBinding
Un puntatore all'associazione non riuscita.
[in] aReport
Un riferimento a un oggetto StatusReport che descrive nel dettaglio il motivo dell'errore.

Inizia

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Inizializza un oggetto DMPublisher.

Questo metodo ha l'effetto collaterale di installare un listener in Exchange Manager per l'intera gamma di richieste del client, incluse quelle per la sottoscrizione.

Dettagli
Parametri
[in] aExchangeMgr
Un puntatore all'oggetto WeaveExchangeManager da utilizzare per tutte le piattaforme di scambio pubblicitario a cui il publisher vuole partecipare.
[in] aResponseTimeout
Un timeout di risposta in millisecondi, ovvero il tempo massimo di attesa per una risposta.
Restituisce
WEAVE_NO_ERROR In caso di esito positivo. In caso contrario, restituisci un WEAVE_ERROR che indichi un errore di configurazione corretta del publisher.

Inizia

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Rispondere a una richiesta di aggiornamento.

Invia la risposta a una richiesta di aggiornamento dopo l'elaborazione, utilizzando il contesto di scambio fornito nell'indicazione.

Dettagli
Parametri
[in] aResponseCtx
Un puntatore al contesto della piattaforma di scambio pubblicitario in cui è stata ricevuta la richiesta.
[in] aStatus
Un riferimento a un oggetto StatusReport contenente informazioni sullo stato della richiesta.
Restituisce
WEAVE_NO_ERROR In caso di esito positivo. In caso contrario, restituisci un WEAVE_ERROR che indica un errore di invio del messaggio di risposta.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Rispondere a una richiesta di visualizzazione.

Inviare la risposta a una richiesta di visualizzazione dopo l'elaborazione, utilizzando il contesto di scambio fornito nell'indicazione.

Dettagli
Parametri
[in] aResponseCtx
Un puntatore al contesto della piattaforma di scambio pubblicitario in cui è stata ricevuta la richiesta.
[in] aStatus
Un riferimento a un oggetto StatusReport contenente informazioni sullo stato della richiesta. Se l'operazione va a buon fine, il richiedente si aspetta un elenco di dati contenente i dati di suo interesse.
[in] aDataList
Un puntatore a un oggetto ReferencedTLVData facoltativo contenente un elenco di dati con codifica TLV contenente i dati di interesse e i percorsi che indicano la disposizione di tali dati. Tieni presente che questo parametro è NULL nel caso in cui lo stato specificato nel parametro precedente non abbia esito positivo.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo. Altrimenti, restituisci un WEAVE_ERROR che indichi un errore di invio del messaggio di risposta.
WEAVE_ERROR_INVALID_ARGUMENT
Se i parametri specificati non sono coerenti
WEAVE_ERROR_NO_MEMORY
Se non è possibile allocare un buffer Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Il distruttore per gli oggetti DMPublisher.

Cancella tutto lo stato interno e rimuove il listener dal gestore della piattaforma di scambio, se attivo.