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

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

Abstrakcyjna klasa bazowa dla wydawców WDM specyficznych dla aplikacji.

Podsumowanie

DMPublisher to standardowa klasa bazowa wydawcy WDM. Jest to połączenie klasy DM ProtocolEngine, która obsługuje komunikację korbową, i całkowicie abstrakcyjnej klasy PublisherDataManager. Obsługa subskrypcji i powiadomień jest opcjonalna i można ją pominąć przez skonfigurowanie tabeli subskrypcji bez wpisów.

Dziedziczenie

Dziedziczy z:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Konstruktory i niszczyciele

DMPublisher(void)
Domyślny konstruktor obiektów DMPublisher.
~DMPublisher(void)
Destruktor obiektów DMPublisher.

Funkcje publiczne

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Wyczyść wewnętrzny stan obiektu DMPublisher.
Finalize(void)
virtual void
Wyłącz działającego DMPublisher.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Poinformuj o niepowodzeniu powiązania.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Zainicjuj obiekt DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Odpowiedz na prośbę o aktualizację.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Odpowiedz na prośbę o wyświetlenie.

Funkcje publiczne

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Wyczyść

virtual void Clear(
  void
)

Wyczyść wewnętrzny stan obiektu DMPublisher.

Czyści pulę transakcji powiadomień i tabelę subskrypcji.

DMPublisher

 DMPublisher(
  void
)

Domyślny konstruktor obiektów DMPublisher.

Usuwa cały stan wewnętrzny.

Zakończ

virtual void Finalize(
  void
)

Wyłącz działającego DMPublisher.

Czyści cały stan operacyjny i wyłącza detektor, jeśli jest uruchomiony.

IncompleteIndication

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

Poinformuj o niepowodzeniu powiązania.

Gdy powiązanie staje się niepełne, np. po zamknięciu połączenia na potrzeby wiązania TCP mechanizm protokołów musi zakończyć się niepowodzeniem we wszystkich zależnych od niego transakcjach, w tym wywołaniu ich modułów obsługi stanu. Niekompletne oznaczenie jest też przekazywane do każdego obiektu klasy nadrzędnej, który implementuje alternatywną formę tej metody, która przyjmuje identyfikator peera.

Szczegóły
Parametry
[in] aBinding
wskaźnik do nieudanego powiązania.
[in] aReport
Odwołanie do obiektu StatusReport ze szczegółami przyczyny niepowodzenia.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Zainicjuj obiekt DMPublisher.

Efektem ubocznym tej metody jest zainstalowanie detektora w menedżerze giełdy dla wszystkich żądań klientów, w tym tych dotyczących subskrypcji.

Szczegóły
Parametry
[in] aExchangeMgr
Wskaźnik do obiektu WeaveExchangeManager, który ma być używany w przypadku wszystkich giełd, w których wydawca chce uczestniczyć.
[in] aResponseTimeout
Czas oczekiwania na odpowiedź w milisekundach, tj. maksymalny czas oczekiwania na odpowiedź.
Zwroty
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR, który wskazuje na niepowodzenie prawidłowej konfiguracji wydawcy.

Init

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
)

Odpowiedz na prośbę o aktualizację.

Po przetworzeniu żądania aktualizacji wyślij odpowiedź na żądanie aktualizacji, korzystając z kontekstu wymiany podanego we wskaźniku.

Szczegóły
Parametry
[in] aResponseCtx
Wskaźnik do kontekstu giełdy, w którym odebrano żądanie.
[in] aStatus
Odwołanie do obiektu StatusReport zawierającego informacje o stanie żądania.
Zwroty
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR oznaczający niepowodzenie wysłania odpowiedzi.

ViewResponse

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

Odpowiedz na prośbę o wyświetlenie.

Po zakończeniu przetwarzania wyślij odpowiedź na żądanie wyświetlenia, korzystając z kontekstu wymiany podanego w wskaźniku.

Szczegóły
Parametry
[in] aResponseCtx
Wskaźnik do kontekstu giełdy, w którym odebrano żądanie.
[in] aStatus
Odwołanie do obiektu StatusReport zawierającego informacje o stanie żądania. W takim przypadku użytkownik zgłaszający będzie oczekiwać listy danych zawierającej interesujące Cię dane.
[in] aDataList
Wskaźnik do opcjonalnego obiektu ReferencedTLVData zawierającego listę danych zakodowaną w TLV, zawierającą interesujące Cię dane, oraz ścieżki wskazujące dyspozycję tych danych. Pamiętaj, że w przypadku, gdy stan podany w poprzednim parametrze nie powiódł się, powinien on zawierać wartość NULL.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie. W przeciwnym razie zwróć komunikat WEAVE_ERROR wskazujący na nieudaną próbę wysłania odpowiedzi.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli podane parametry są niespójne
WEAVE_ERROR_NO_MEMORY
Jeśli nie można przydzielić bufora Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Destruktor obiektów DMPublisher.

Czyści cały stan wewnętrzny i usuwa detektor z menedżera giełdy, jeśli taki jest.