summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager/event_engine/event_observer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include/application_manager/event_engine/event_observer.h')
-rw-r--r--src/components/application_manager/include/application_manager/event_engine/event_observer.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/components/application_manager/include/application_manager/event_engine/event_observer.h b/src/components/application_manager/include/application_manager/event_engine/event_observer.h
index 1f4eccaf46..0ebf90133e 100644
--- a/src/components/application_manager/include/application_manager/event_engine/event_observer.h
+++ b/src/components/application_manager/include/application_manager/event_engine/event_observer.h
@@ -70,9 +70,23 @@ class EventObserver {
*
* @param event The received event
*/
- virtual void on_event(const Event& event) = 0;
+ virtual void HandleOnEvent(const Event& event) = 0;
- virtual void on_event(const MobileEvent& event);
+ virtual void HandleOnEvent(const MobileEvent& event);
+
+ /**
+ * @brief Increments reference count to avoid observer destruction while
+ * event dispatcher keeping pointer to that observer
+ * @return true if request reference was incremented, otherwise returns false
+ */
+ virtual bool IncrementReferenceCount() const;
+
+ /**
+ * @brief Decrements reference count to allow observer be safely destroyed
+ * as event dispatcher does not keep any pointers to it
+ * @return true if request reference was decremented, otherwise returns false
+ */
+ virtual bool DecrementReferenceCount() const;
protected:
/*