summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h')
-rw-r--r--src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h63
1 files changed, 31 insertions, 32 deletions
diff --git a/src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h b/src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h
index e834889bff..0a58e329b3 100644
--- a/src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h
+++ b/src/components/application_manager/include/application_manager/event_engine/event_dispatcher_impl.h
@@ -37,7 +37,6 @@
#include <map>
#include "utils/lock.h"
-#include "utils/singleton.h"
#include "application_manager/event_engine/event.h"
#include "application_manager/event_engine/event_dispatcher.h"
@@ -47,16 +46,33 @@ namespace event_engine {
class EventObserver;
-class EventDispatcherImpl : public EventDispatcher,
- public utils::Singleton<EventDispatcherImpl> {
+class EventDispatcherImpl : public EventDispatcher {
public:
+ // Data types section
+ typedef std::vector<EventObserver*> ObserverVector;
+ typedef std::map<int32_t, ObserverVector> ObserversMap;
+ typedef std::map<Event::EventID, ObserversMap> EventObserverMap;
+ /*
+ * @brief Destructor
+ */
+ virtual ~EventDispatcherImpl();
+
+ /*
+ * @brief Default constructor
+ */
+ EventDispatcherImpl();
+
+#ifdef BUILD_TESTS
+ EventObserverMap get_observers() const { return observers_event_; }
+ ObserverVector get_observers_list() const { return observers_; }
+#endif // BUILD_TESTS
/*
* @brief Delivers the event to all subscribers
*
* @param event Received event
*/
- virtual void raise_event(const Event& event);
+ void raise_event(const Event& event) OVERRIDE;
/*
* @brief Subscribe the observer to event
@@ -65,9 +81,9 @@ class EventDispatcherImpl : public EventDispatcher,
* @param hmi_correlation_id The event HMI correlation ID
* @param observer The observer to subscribe for event
*/
- virtual void add_observer(const Event::EventID& event_id,
- int32_t hmi_correlation_id,
- EventObserver* const observer);
+ void add_observer(const Event::EventID& event_id,
+ int32_t hmi_correlation_id,
+ EventObserver* const observer) OVERRIDE;
/*
* @brief Unsubscribes the observer from specific event
@@ -75,29 +91,19 @@ class EventDispatcherImpl : public EventDispatcher,
* @param event_id The event ID to unsubscribe from
* @param observer The observer to be unsubscribed
*/
- virtual void remove_observer(const Event::EventID& event_id,
- EventObserver* const observer);
+ void remove_observer(const Event::EventID& event_id,
+ EventObserver* const observer) OVERRIDE;
/*
* @brief Unsubscribes the observer from all events
*
* @param observer The observer to be unsubscribed
*/
- virtual void remove_observer(EventObserver* const observer);
-
- /*
- * @brief Destructor
- */
- virtual ~EventDispatcherImpl();
+ void remove_observer(EventObserver* const observer) OVERRIDE;
private:
/*
- * @brief Default constructor
- */
- EventDispatcherImpl();
-
- /*
* @brief removes observer
* when occurs unsubscribe from event
* @param observer to be removed
@@ -106,19 +112,12 @@ class EventDispatcherImpl : public EventDispatcher,
DISALLOW_COPY_AND_ASSIGN(EventDispatcherImpl);
- FRIEND_BASE_SINGLETON_CLASS(EventDispatcherImpl);
-
- // Data types section
- typedef std::vector<EventObserver*> ObserverVector;
- typedef std::map<int32_t, ObserverVector> ObserversMap;
- typedef std::map<Event::EventID, ObserversMap> EventObserverMap;
-
+ private:
// Members section
- sync_primitives::Lock state_lock_;
- sync_primitives::Lock observer_lock_;
- EventObserverMap observers_event_;
- ObserverVector observers_;
-
+ sync_primitives::Lock state_lock_;
+ sync_primitives::Lock observer_lock_;
+ EventObserverMap observers_event_;
+ ObserverVector observers_;
};
} // namespace event_engine