Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::DataManagement_Legacy::DMPublisher

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

Die abstrakte Basisklasse für anwendungsspezifische WDM-Publisher.

Fazit

DMPublisher ist die standardmäßige Publisher-Basisklasse für die Mobilgeräteverwaltung. Dabei handelt es sich um eine Mischung aus der DM-Klasse ProtokollEngine, die die Kommunikation mit der Kurbelumdrehung und die vollständig abstrakte Klasse PublisherDataManager verarbeitet. Die Unterstützung von Abos und Benachrichtigungen ist optional und kann unterdrückt werden, indem Sie einfach eine Abo-Tabelle ohne Einträge konfigurieren.

Übernahme

Übernimmt von:
nl::Weave::Profiles::DataManagement_Legacy::ProtokollEngine
nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Konstrukteur und Zerstörer

DMPublisher(void)
Der Standard-Konstruktor für DMPublisher-Objekte.
~DMPublisher(void)
Das Zerstörer für DMPublisher-Objekte

Öffentliche Funktionen

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Internen Status des DMPublisher-Objekts löschen.
Finalize(void)
virtual void
Fahren Sie einen aktiven DMPublisher herunter.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Umgang mit einem Hinweis, dass eine Bindung fehlgeschlagen ist.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Initialisieren Sie ein DMPublisher-Objekt.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Auf eine Aktualisierungsanfrage antworten
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Antworten Sie auf eine Datenansichtsanfrage.

Öffentliche Funktionen

Transaktionsanfrage stornieren

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Löschen

virtual void Clear(
  void
)

Internen Status des DMPublisher-Objekts löschen.

Löscht den Transaktionspool für Benachrichtigungen und die Abotabelle.

DM-Publisher

 DMPublisher(
  void
)

Der Standard-Konstruktor für DMPublisher-Objekte.

Löscht den gesamten internen Status.

Abschließen

virtual void Finalize(
  void
)

Fahren Sie einen aktiven DMPublisher herunter.

Löscht den gesamten Betriebsstatus und fährt den Listener herunter, wenn einer ausgeführt wird.

Unvollständige Meldung

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

Umgang mit einem Hinweis, dass eine Bindung fehlgeschlagen ist.

Wenn eine Bindung unvollständig wird, d. h., wenn die Verbindung für eine TCP-Bindung beendet wird, muss die Protokoll-Engine alle darauf basierenden Transaktionen fehlschlagen. Dazu gehört auch das Aufrufen ihrer Status-Handler. Außerdem wird die unvollständige Angabe an ein beliebiges Superclass-Objekt übergeben, mit dem die alternative Form dieser Methode mit einer Peer-ID implementiert wird.

Details
Parameter
[in] aBinding
Ein Verweis auf die fehlgeschlagene Bindung.
[in] aReport
Verweis auf ein StatusReport-Objekt, in dem der Grund für den Fehler beschrieben wird

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Initialisieren Sie ein DMPublisher-Objekt.

Diese Methode hat die Nebenwirkung, wenn ein Listener im Exchange-Manager für alle Clientanfragen installiert wird, möglicherweise für Abos.

Details
Parameter
[in] aExchangeMgr
Ein Zeiger auf das WeaveExchangeManager-Objekt, das für alle Anzeigenplattformen verwendet werden soll, an denen der Publisher teilnehmen möchte.
[in] aResponseTimeout
Das Zeitlimit in Millisekunden, d.h. die maximale Wartezeit bis zur Antwort.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird der Fehler WEAVE_ERROR zurückgegeben, der darauf hinweist, dass der Publisher nicht richtig eingerichtet werden konnte.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnssReceived

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

Antwort aktualisieren

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Auf eine Aktualisierungsanfrage antworten

Senden Sie die Antwort nach der Verarbeitung mit dem im Hinweis angegebenen Umtausch an eine Aktualisierungsanfrage.

Details
Parameter
[in] aResponseCtx
Ein Hinweis auf den Exchange-Kontext, in dem die Anfrage eingegangen ist.
[in] aStatus
Ein Verweis auf ein StatusReport-Objekt, das Informationen zum Status der Anfrage enthält.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird der Fehler WEAVE_ERROR zurückgegeben, der darauf hinweist, dass die Antwortnachricht nicht gesendet werden konnte.

Antwort aufrufen

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

Antworten Sie auf eine Datenansichtsanfrage.

Senden Sie die Antwort nach der Verarbeitung auf den Aufrufkontext, den Sie im Hinweis angegeben haben.

Details
Parameter
[in] aResponseCtx
Ein Hinweis auf den Exchange-Kontext, in dem die Anfrage eingegangen ist.
[in] aStatus
Ein Verweis auf ein StatusReport-Objekt, das Informationen zum Status der Anfrage enthält. Wenn dies erfolgreich ist, erwartet der Antragsteller eine Datenliste, die die relevanten Daten enthält.
[in] aDataList
Ein Zeiger auf ein optionales Objekt ReferencedTLVData mit einer TLV-codierten Datenliste, die die gewünschten Daten und die Pfade der Datenanordnung enthält. Dieser Parameter muss NULL sein, wenn der im vorherigen Parameter angegebene Status nicht erfolgreich ist.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass die Antwortnachricht nicht gesendet werden konnte.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn die angegebenen Parameter nicht konsistent sind
WEAVE_ERROR_NO_MEMORY
Wenn ein Inet-Puffer nicht zugewiesen werden konnte.

~DM-Publisher

virtual  ~DMPublisher(
  void
)

Das Zerstörer für DMPublisher-Objekte

Löscht den gesamten internen Status und entfernt den Listener aus dem Exchange-Manager, sofern vorhanden.