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

摘要

公開類型

@142 列舉
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID 列舉
HandlerId typedef
uint8_t

公開的靜態函式

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

公用函式

AbortSubscription(void)
void
這個函式會立即終止訂閱,這是同步呼叫。
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
這個函式會啟動安全關閉訂閱及清除處理常式物件。
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

結構

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

工會

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

公開類型

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

公開的靜態函式

DefaultEventHandler

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

公用函式

AbortSubscription

void AbortSubscription(
  void
)

這個函式會立即終止訂閱,這是同步呼叫。

取消發布者訂閱項目。

系統不會嘗試通知客戶終止事宜,並取消基本廣告交易平臺情境 (如有)。在此呼叫後,應用程式將不會再收到此物件的任何進一步活動通知。此外,應用程式也不允許應用程式透過其任何方法與此物件互動。

終止發布端訂閱,不通知訂閱用戶端,也不會將 OnSubscriptionTerminated 事件傳送至應用程式的事件處理常式。如果同時訂閱屬於雙向訂閱,系統也會終止發布商返回用戶端的計數器訂閱。

呼叫 AbortSubscription() 後,SubscriptionHandler 物件會進入 Terminated 狀態。如果終止程序完成後,沒有其他物件的其他參照,系統就會釋放 SubscriptionHandler 物件。

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

這個函式會啟動安全關閉訂閱及清除處理常式物件。

順利結束發布者訂閱。

這是非同步呼叫,將透過相關 SubscribeCancel/StatusReport 訊息通知用戶端即將關閉的事宜。

值得注意的是,這會導致應用程式開始參與這項訂閱。在此呼叫後,應用程式將不會再收到此物件的任何進一步活動通知。此外,應用程式也不允許應用程式透過其任何方法與此物件互動。

正常終止發布者訂閱。如果已啟用訂閱取消支援,系統會將 SubscriptionCancelRequest 訊息傳送給訂閱用戶端,然後系統會等待回覆,然後再終止訂閱;否則將以類似 AbortSubscription() 的方式立即終止訂閱。如果有,從發布者返回用戶端的計數器訂閱也會終止。

詳細說明
參數
[in] aReasonProfileId
StatusCode 的 ProfileId,指出終止原因
[in] aReasonStatusCode
指出終止原因的 StatusCode
傳回值
Returns
Weave 錯誤代碼,僅供參考。發生任何錯誤時,系統會同步終止物件 (即「取消」)。

在等待回應 SubscriptionCancelRequest 時,SubscriptionHandler 會進入 Canceling 狀態。

終止程序開始後,SubscriptionHandler 物件會進入 Terminated 狀態,並將 OnSubscriptionTerminated 事件傳送至應用程式的事件處理常式。請注意,如果您「沒有」啟用取消支援,則在對 EndSubscription() 的呼叫中,可能會同步呼叫事件處理常式。

應用程式的事件處理常式傳回後,如果 SubscriptionHandler 物件沒有額外的參照,系統就會釋放該物件。

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
)