From d663f702c0e4fa562783504a483dce8f362d628e Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 12 Sep 2017 00:29:28 +0200 Subject: Progression on config parsing. Change-Id: Idd8d8987ccabef381f6d79c1d508930a2d4bae3c Signed-off-by: Romain Forlot --- signal-composer-binding/observer.hpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 signal-composer-binding/observer.hpp (limited to 'signal-composer-binding/observer.hpp') diff --git a/signal-composer-binding/observer.hpp b/signal-composer-binding/observer.hpp new file mode 100644 index 0000000..e4129c6 --- /dev/null +++ b/signal-composer-binding/observer.hpp @@ -0,0 +1,30 @@ +#include + +class Observer +{ +public: + virtual void update(double timestamp, double value) = 0; +}; + +class Subject +{ + double timestamp_; + double value_; + std::vector m_views; +public: + void attach(Observer *obs) + { + m_views.push_back(obs); + } + void set_val(double timestamp, double value) + { + timestamp_ = timestamp; + value_ = value; + notify(); + } + void notify() + { + for (int i = 0; i < m_views.size(); ++i) + m_views[i]->update(timestamp_, value_); + } +}; -- cgit 1.2.3-korg