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
- tparam SessionType
The session object type which class uses for sessions
Public Functions
-
explicit
SubscriptionContainer
() = default¶ ctor
-
~SubscriptionContainer
() = default¶ dtor
-
inline bool
addSubscription
(const string &identifier, SessionType session)¶ Add subscription to the given session for this service.
- Parameters
identifier – Identifies the subscription, what this means is implementation specific
session – The session to subscribe
- Returns
True if the subscription was added, double subscription is not accepted
-
inline vector<SessionType>
findSubscribers
(const string &identifier)¶ Find all subscribers for the given identifier.
- Parameters
identifier – Identifies the subscriptions, what this means is implementation specific
- Returns
vector listing all subscribers
-
inline bool
hasSubscriptions
(const string &identifier)¶ Check if the given identifier has any subscriptions.
- Parameters
identifier – The identifier to check, what this means is implementation specific
- Returns
True if at least one subscriber is found
-
inline vector<string>
removeSubscriptions
(SessionType session, const string &identifier)¶ Remove subscription to the given session for this service.
- Parameters
session – The session whose subscriptions are to be removed
identifier – The subscriptions to remove, if empty all subscriptions for the session are removed
- Returns
vector containing identifiers that no longer have any subscriptions left after this call