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 消息(若相关)通知客户端即将关停。

值得注意的是,这样会让应用不再参与此订阅。完成此调用后,应用将不会收到有关此对象上任何进一步的活动的通知。此外,系统不允许应用在此之后通过其任何方法与此对象进行交互。

正常终止发布者订阅。如果启用了订阅取消支持,则向订阅客户端发送 SubscribeCancelRequest 消息,系统会等待回复,然后再终止订阅;否则系统会立即终止订阅,方式与 AbortSubscription() 类似。如果存在相互订阅,则发布商返回给客户端的计数器订阅也会终止。

具体说明
参数
[in] aReasonProfileId
StatusCode 的 ProfileId,表明终止背后的原因
[in] aReasonStatusCode
指明终止原因的 StatusCode
返回值
Returns
Weave 错误代码仅供参考。如果出现任何错误,对象将会被同步终止(即中止)。

在等待 SubscribeCancelRequest 响应时,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
)