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::Weave::Profiles::DataManagement_Legacy::ClientNotifier::Subscription

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
)