6#ifndef ACTIVE_EVENT_SUBSCRIBER
7#define ACTIVE_EVENT_SUBSCRIBER
9#include "Active/Event/Participant.h"
45 using Unique = std::unique_ptr<Subscriber>;
47 using Shared = std::shared_ptr<Subscriber>;
49 using Weak = std::weak_ptr<Subscriber>;
67 Subscriber(int32_t priority = 0) { m_priority = priority; }
132 int32_t m_priority = 0;
Definition Participant.h:22
bool operator==(const Participant &ref) const
Definition Participant.h:41
Definition Publisher.h:26
Definition Subscriber.h:39
bool operator!=(const Subscriber &ref) const
Definition Subscriber.h:92
virtual bool getPriority() const
Definition Subscriber.h:100
std::unique_ptr< Subscriber > Unique
Unique pointer.
Definition Subscriber.h:45
virtual Action action() const
Definition Subscriber.h:105
std::shared_ptr< Subscriber > Shared
Shared pointer.
Definition Subscriber.h:47
virtual bool receive(const Event &event)=0
bool operator==(const Subscriber &ref) const
Definition Subscriber.h:86
Action
The action awaited by the subscriber.
Definition Subscriber.h:54
@ suspend
Suspend operation.
@ discontinue
The subscription is discontinued.
@ renew
The subscriber has to be discontinued and restarted (audit, attach etc)
void setAction(Action action)
Definition Subscriber.h:128
std::weak_ptr< Subscriber > Weak
Weak pointer.
Definition Subscriber.h:49
Subscriber(const utility::NameID &identity, int32_t priority=0)
Definition Subscriber.h:73
Subscriber(int32_t priority=0)
Definition Subscriber.h:67
std::set< NameID > Subscription
An event subscription list.
Definition Subscriber.h:51
virtual Subscription subscription() const =0
virtual ~Subscriber()=default