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
)