nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

#include <src/lib/profiles/data-management/Legacy/ClientNotifier.h>

WDM 客户端需要订阅和通知支持时采用的辅助类。

摘要

ClientNotifier 是一个类,可根据发布商在订阅时提供的主题 ID 或众所周知的主题 ID 将传入的通知分派给感兴趣的客户端。ClientNotifier 还会向发布商返回状态。

订阅和通知在 WDM 中是可选的,但如果它们受支持,必须在初始化时向客户端提供通知程序。

构造函数和析构函数

ClientNotifier(void)
~ClientNotifier(void)

受保护的属性

mExchangeMgr
mNotifierTable[kNotifierTableSize]
mSubscriptionCount
uint16_t

公共函数

Clear(void)
void
DispatchNotifyIndication(ExchangeContext *aResponseCtx, PacketBuffer *payload)
FailSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId, DMClient *aClient, StatusReport & aReport)
void
HasSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId, DMClient *aClient) const
bool
InstallSubscription(const TopicIdentifier & aTopicId, const TopicIdentifier & aRequestedId, const uint64_t & aPublisherId, DMClient *aClient)
RemoveSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId, DMClient *aClient)
void
SubscriptionIsEnabled(void)
bool

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier::Subscription

客户端订阅。

受保护的属性

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mNotifierTable

Subscription mNotifierTable[kNotifierTableSize]

mSubscriptionCount

uint16_t mSubscriptionCount

公共函数

清除

void Clear(
  void
)

ClientNotifier

 ClientNotifier(
  void
)

DispatchNotifyIndication

WEAVE_ERROR DispatchNotifyIndication(
  ExchangeContext *aResponseCtx,
  PacketBuffer *payload
)

FailSubscription

void FailSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId,
  DMClient *aClient,
  StatusReport & aReport
)

HasSubscription

bool HasSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId,
  DMClient *aClient
) const 

InstallSubscription

WEAVE_ERROR InstallSubscription(
  const TopicIdentifier & aTopicId,
  const TopicIdentifier & aRequestedId,
  const uint64_t & aPublisherId,
  DMClient *aClient
)

RemoveSubscription

void RemoveSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId,
  DMClient *aClient
)

SubscriptionIsEnabled

bool SubscriptionIsEnabled(
  void
)

~ClientNotifier

virtual  ~ClientNotifier(
  void
)