SubscriptionContainer¶
-
template<typename
SessionType
>
classkanzi::connect
::
SubscriptionContainer
¶ Container for session subscriptions within abstract service or external service adapter.
- See
kanzi::connect::AbstractService
- See
kanzi::connect::ExternalServiceAdapter
- Template Parameters
SessionType
: The session object type which class uses for sessions
Public Functions
-
SubscriptionContainer
() = default¶ ctor
-
~SubscriptionContainer
() = default¶ dtor
-
bool
addSubscription
(const string &identifier, SessionType session)¶ Add subscription to the given session for this service.
- Return
True if the subscription was added, double subscription is not accepted
- Parameters
identifier
: Identifies the subscription, what this means is implementation specificsession
: The session to subscribe
-
vector<SessionType>
findSubscribers
(const string &identifier)¶ Find all subscribers for the given identifier.
- Return
vector listing all subscribers
- Parameters
identifier
: Identifies the subscriptions, what this means is implementation specific
-
bool
hasSubscriptions
(const string &identifier)¶ Check if the given identifier has any subscriptions.
- Return
True if at least one subscriber is found
- Parameters
identifier
: The identifier to check, what this means is implementation specific
-
vector<string>
removeSubscriptions
(SessionType session, const string &identifier)¶ Remove subscription to the given session for this service.
- Return
vector containing identifiers that no longer have any subscriptions left after this call
- Parameters
session
: The session whose subscriptions are to be removedidentifier
: The subscriptions to remove, if empty all subscriptions for the session are removed