nl:: Weave:: Profiles:: DataManagement_Legacy:: ClientNotifier
#include <src/lib/profiles/data-management/Legacy/ClientNotifier.h>
An auxiliary class employed when subscription and notification support are desired on a WDM client.
Summary
The ClientNotifier is a class that performs dispatching of incoming notifications to the interested client based on the topic ID provided by the publisher at subscription time or else based on a well-known topic ID. The ClientNotifier also returns a status to the publisher.
Subscription and notification are optional in WDM but if they are supported the client must be provided with a notifier at initialization time.
Constructors and Destructors |
|
---|---|
ClientNotifier(void)
|
|
~ClientNotifier(void)
|
Protected attributes |
|
---|---|
mExchangeMgr
|
|
mNotifierTable[kNotifierTableSize]
|
|
mSubscriptionCount
|
uint16_t
|
Public functions |
|
---|---|
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
|
Classes |
|
---|---|
nl:: |
A client-side subscription. |
Protected attributes
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mNotifierTable
Subscription mNotifierTable[kNotifierTableSize]
mSubscriptionCount
uint16_t mSubscriptionCount
Public functions
Clear
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 )