nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
  摘要
        公共类型 | 
    |
|---|---|
        @142
       | 
      枚举 | 
        EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
       | 
      typedefvoid(*
         | 
    
        EventID
       | 
      枚举 | 
        HandlerId
       | 
      typedefuint8_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 
       | 
      
        Binding *
         | 
    
        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:: | 
      |
        联合体 | 
    |
|---|---|
| 
        nl:: | 
      |
| 
        nl:: | 
      |
公共类型
@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() 类似的方式终止。如果存在相互订阅,则从发布者返回客户端的计数器订阅也会终止。
| 详细信息 | |||||
|---|---|---|---|---|---|
| 参数 | 
              
  | 
          ||||
| 返回值 | 
              
  | 
          ||||
在等待 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 )