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
)