nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler

Podsumowanie

Typy publiczne

@142 enum | typ wyliczeniowy
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum | typ wyliczeniowy
HandlerId typedef
uint8_t

Publiczne funkcje statyczne

DefaultEventHandler(EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Funkcje publiczne

AbortSubscription(void)
void
Ta funkcja natychmiast kończy subskrypcję – jest to wywołanie synchroniczne.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Ta funkcja inicjuje płynne wyłączenie subskrypcji i czyszczenie obiektu obsługi.
GetBinding(void) const
GetMaxNotificationSize(void) const
uint32_t
GetPeerNodeId(void) const
uint64_t
GetSubscriptionId(uint64_t *const apSubscriptionId)
IsActive(void)
bool
IsCanceling() const
bool
IsEstablishedIdle()
bool
IsFree()
bool
IsTerminated()
bool
SetMaxNotificationSize(const uint32_t aMaxPayload)
void

Struktura

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::TraitInstanceInfo

Związki

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::OutEventParam

Typy publiczne

@142

 @142

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventID

 EventID

HandlerId

uint8_t HandlerId

Publiczne funkcje statyczne

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Funkcje publiczne

AbortSubscription

void AbortSubscription(
  void
)

Ta funkcja natychmiast kończy subskrypcję – jest to wywołanie synchroniczne.

Przerwij subskrypcję wydawcy.

Nie jest podejmowana żadna próba powiadomienia klienta o zakończeniu operacji, a kontekst giełdy, jeśli jest obecny, zostaje natychmiast przerwany. Po tym wywołaniu aplikacja nie będzie powiadamiana o żadnych dalszych działaniach na tym obiekcie. Dodatkowo aplikacja nie będzie mogła później wchodzić w interakcję z tym obiektem za pomocą żadnej z jego metod.

Kończy subskrypcję przez wydawcę bez powiadomienia klienta subskrypcji i bez dostarczenia zdarzenia OnSubscriptionTerminated do modułu obsługi zdarzeń aplikacji. Jeśli istnieje subskrypcja wzajemna, subskrypcja kontrahenta od wydawcy do klienta też zostanie zakończona.

Po wywołaniu funkcji AbortSubscription() obiekt SubscriptionHandler zmienia stan w Terminated. Jeśli po zakończeniu procesu zakończenia nie ma dodatkowych odwołań do obiektu, obiekt SubscriptionHandler zostaje zwolniony.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Ta funkcja inicjuje płynne wyłączenie subskrypcji i czyszczenie obiektu obsługi.

Bezprawnie zakończ subskrypcję wydawcy.

Jest to wywołanie asynchroniczne. W stosownych przypadkach powiadomi klienta o nadchodzącym wyłączeniu za pomocą komunikatu subscribeCancel/StatusReport.

W szczególności rezygnuje z udziału aplikacji w subskrypcji. Po tym wywołaniu aplikacja nie będzie powiadamiana o dalszej aktywności na tym obiekcie. Dodatkowo aplikacja nie będzie mogła później wchodzić w interakcję z tym obiektem za pomocą żadnej z jego metod.

W wyniku grania przerywa zakończenie subskrypcji przez wydawcę. Jeśli obsługa anulowania subskrypcji jest włączona, do klienta subskrypcji jest wysyłana wiadomość SubskrybujCancelRequest, a system będzie czekać na odpowiedź przed zakończeniem subskrypcji. W przeciwnym razie subskrypcja zostanie natychmiast zakończona w sposób podobny do funkcji AbortSubscription(). Jeśli istnieje subskrypcja wzajemna, subskrypcja kontrahenta od wydawcy do klienta też zostanie zakończona.

Szczegóły
Parametry
[in] aReasonProfileId
Identyfikator profilu kodu stanu, który wskazuje przyczynę zamknięcia konta
[in] aReasonStatusCode
Kod stanu wskazujący przyczynę zamknięcia konta
Zwracane wartości
Returns
kod błędu Weave wyłącznie do celów informacyjnych. W przypadku każdego błędu obiekt zostanie zakończony synchronicznie (czyli zostanie przerwany).

Oczekując na odpowiedź na żądanie subscribeCancelRequest, SubscriptionHandler przechodzi w stan Canceling.

Po rozpoczęciu procesu zakończenia obiekt SubscriptionHandler przechodzi w stan Terminated, a zdarzenie OnSubscriptionTerminated jest dostarczane do modułu obsługi zdarzeń aplikacji. Pamiętaj, że jeśli obsługa anulowania nie jest włączona, moduł obsługi zdarzeń może być wywoływany synchronicznie w ramach wywołania funkcji EndSubscription().

Jeśli po zwróceniu modułu obsługi zdarzeń aplikacji nie ma dodatkowych odwołań do obiektu SubscriptionHandler, obiekt zostanie zwolniony.

GetBinding

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

IsCanceling

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

IsFree

bool IsFree()

IsTerminated

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)