nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier::Subscription

#include <src/lib/profiles/data-management/Legacy/ClientNotifier.h>

A client-side subscription.

Summary

A subscription on the client side just maps a pair:

[, ]
onto a client data manager object. both topic ID and publisher ID may be supplied as wild cards. A subscription may be requested under a known topic ID as well in which case the requested ID is kept around for reference.

Constructors and Destructors

Subscription(void)
~Subscription(void)

Public attributes

mClient
The client to which this subscription relates.

Protected attributes

mAssignedId
mPublisherId
uint64_t
mRequestedId

Public functions

CheckSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId)
bool
Check the target of a subscription.
Free(void)
void
Init(const TopicIdentifier & aAssignedId, const TopicIdentifier & aRequestedId, const uint64_t & aPublisherId, DMClient *aClient)
IsFree(void)
bool
MatchSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId) const
bool
Check the contents of a subscription.
MatchSubscription(const TopicIdentifier & aTopicId, const uint64_t & aPublisherId, DMClient *aClient) const
bool
Check the contents of a subscription.

Public attributes

mClient

DMClient * mClient

The client to which this subscription relates.

This member variable is public because users of the subscription class need to be able to get at it in order to invoke indications.

Protected attributes

mAssignedId

TopicIdentifier mAssignedId

mPublisherId

uint64_t mPublisherId

mRequestedId

TopicIdentifier mRequestedId

Public functions

CheckSubscription

bool CheckSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId
)

Check the target of a subscription.

This test is used to check incoming messages against the notifier table. In addition to checking an exact match in either of the parameters of interest, it also checks whether the table contains "wildcards" that match.

Details
Parameters
[in] aTopicId
A reference to the publisher-assigned "working" topic ID under which the subscription is stored.
[in] aPublisherId
A reference to the 64- bit node ID or service endpoint of the publisher servicing the subscription.
Returns
true if the subscription matches, false otherwise.

Free

void Free(
  void
)

Init

WEAVE_ERROR Init(
  const TopicIdentifier & aAssignedId,
  const TopicIdentifier & aRequestedId,
  const uint64_t & aPublisherId,
  DMClient *aClient
)

IsFree

bool IsFree(
  void
)

MatchSubscription

bool MatchSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId
) const 

Check the contents of a subscription.

This test, is used in order to figure out whether the notifier table contains a particular subscription and is assumed to be called "from above". As such, the parameters may have "wildcard" values but, if they do not, then an exact match is required. This version assumes that the data manager component of the subscription is the current client.

Details
Parameters
[in] aTopicId
A reference to the publisher-assigned "working" topic ID under which the subscription is stored.
[in] aPublisherId
A reference to the 64- bit node ID or service endpoint of the publisher servicing the subscription.
Returns
true if the subscription matches, false otherwise.

MatchSubscription

bool MatchSubscription(
  const TopicIdentifier & aTopicId,
  const uint64_t & aPublisherId,
  DMClient *aClient
) const 

Check the contents of a subscription.

This test, is used in order to figure out whether the notifier table contains a particular subscription and is assumed to be called "from above". As such, some parameters may have "wildcard" values but, if they do not, then an exact match is required.

Details
Parameters
[in] aTopicId
A reference to the publisher-assigned "working" topic ID under which the subscription is stored.
[in] aPublisherId
A reference to the 64- bit node ID or service endpoint of the publisher servicing the subscription.
[in] aClient
A pointer to the DMClient present in the subscription.
Returns
true if the subscription matches, false otherwise.

Subscription

 Subscription(
  void
)

~Subscription

virtual  ~Subscription(
  void
)