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

受保護的屬性

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
)