nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Abstrakcyjna klasa bazowa dla klientów WDM specyficznych dla aplikacji.
Podsumowanie
DMClient to standardowy klient WDM. Implementacja opcjonalnie obejmuje subskrypcję lub powiadomienie. Jest to połączenie klasy DM ProtocolEngine, która obsługuje komunikację, i całkowicie abstrakcyjnej klasy ClientDataManager z niektórymi metodami związanymi z subskrypcjami, dzięki czemu wyższe warstwy nie muszą się o nie martwić.
Moduły obsługi zadań związanych z subskrypcją działają głównie jako „cienki adapter” zamiast obiektu ClientNotifier. Implementatory podklas powinny wywoływać odpowiednie metody superklasy, aby aktywować menedżera subskrypcji.
Metody żądań DMClient mają zwykle 2 podpisy: jeden z określonym identyfikatorem węzła docelowego, a drugi z określonym miejscem docelowym. W obu przypadkach możliwość wysłania wiadomości do wydawcy zależy od istniejącego powiązania na kliencie, ale w pierwszym przypadku identyfikator miejsca docelowego służy do wyboru między wieloma powiązanymi miejscami docelowymi, a w drugim przypadku jako domyślny jest wybierany pierwszy element w tabeli powiązań. Jest to przydatne na przykład wtedy, gdy klient będzie powiązany tylko z jednym wydawcą.
Dziedziczenie
Dziedziczy z:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Konstruktory i niszczyciele |
|
---|---|
DMClient(void)
Domyślny konstruktor obiektów DMClient.
|
|
~DMClient(void)
Destruktor obiektów DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o wyświetlenie opublikowanych danych.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o wyświetlenie danych domyślnego wydawcy.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o aktualizację opublikowanych danych.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o aktualizację danych domyślnego wydawcy.
|
Atrybuty chronione |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funkcje publiczne |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Poproś o anulowanie realizowanej transakcji.
|
Clear(void)
|
virtual void
Wyczyść wewnętrzny stan powiązany z obiektem DMClient.
|
Finalize(void)
|
virtual void
Wyłącz działającego DMClient.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Radzenie sobie z niekompletnymi informacjami powiązania używanego przez klienta.
|
Funkcje chronione |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o wyświetlenie opublikowanych danych.
Może poprosić o wyświetlenie danych znajdujących się w określonym zdalnym wydawcy i przez niego zarządzanych.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
||||||||
Zwroty |
W przeciwnym razie pojawi się komunikat WEAVE_ERROR wskazujący na niepowodzenie zainicjowania lub rozpoczęcia transakcji.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o wyświetlenie danych domyślnego wydawcy.
Poproś o wyświetlenie danych znajdujących się w „domyślnym miejscu” i nich zarządzanych wydawca, czyli pierwszy (lub jedyne) wydawca w tabeli powiązań klienta.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
||||||
Zwroty |
W przeciwnym razie pojawi się komunikat WEAVE_ERROR wskazujący na niepowodzenie zainicjowania lub rozpoczęcia transakcji.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o aktualizację opublikowanych danych.
Poproś wydawcę zdalnego o zaktualizowanie zarządzanych danych.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR_NO_MEMORY, jeśli nie udało się przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR z informacją o niepowodzeniu aktualizacji.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o aktualizację danych domyślnego wydawcy.
Poproś wydawcę zdalnego o zaktualizowanie zarządzanych danych. Ta wersja kieruje żądanie do wydawcy, który jest celem domyślnego powiązania klienta.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR_NO_MEMORY, jeśli nie udało się przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR z informacją o niepowodzeniu aktualizacji.
|
Atrybuty chronione
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Funkcje publiczne
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Poproś o anulowanie realizowanej transakcji.
Ta metoda nie generuje ruchu sieciowego, ale zwalnia zasoby przydzielone do określonych transakcji
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR oznaczający niepowodzenie anulowania transakcji.
|
Wyczyść
virtual void Clear( void )
Wyczyść wewnętrzny stan powiązany z obiektem DMClient.
W szczególności ta metoda usuwa wszystkie pule transakcji klientów. Klientom, którzy używali metody Finalize(), zaleca się stosowanie metody Finalize(), ponieważ powoduje ona również anulowanie subskrypcji i czyszczenie tabel transakcji i wiązań.
Zobacz też:Finalize()
DMClient
DMClient( void )
Zakończ
virtual void Finalize( void )
Wyłącz działającego DMClient.
Czyści cały stan operacyjny powiązany z klientem i usuwa wszystkie powiązane subskrypcje z powiadomienia. Po wywołaniu Finalize() obiekt DMClient może zostać ponownie zainicjowany przez wywołanie Init(). Funkcja Finalize() jest wywoływana przez destruktor DMClient, ale może być wywoływana w przypadku, gdy polecenie DMClient wymaga wyczyszczenia, np. w przypadku awarii lub tymczasowego wyłączenia, które mogą wymagać przywrócenia w późniejszym czasie.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Radzenie sobie z niekompletnymi informacjami powiązania używanego przez klienta.
Gdy powiązanie nieoczekiwanie kończy się niepowodzeniem, np. Wywoływana jest ta metoda, jeśli połączenie związane z powiązaniem zostało zamknięte.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
~DMClient
virtual ~DMClient( void )
Destruktor obiektów DMClient.
Usuwa wszystkie informacje o stanie wewnętrznym i w razie potrzeby anuluje oczekujące subskrypcje.