aboutsummaryrefslogtreecommitdiffstats
path: root/signal-composer-binding/signal.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'signal-composer-binding/signal.hpp')
-rw-r--r--signal-composer-binding/signal.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/signal-composer-binding/signal.hpp b/signal-composer-binding/signal.hpp
index 8d0d1ab..46caa23 100644
--- a/signal-composer-binding/signal.hpp
+++ b/signal-composer-binding/signal.hpp
@@ -40,6 +40,12 @@ struct SignalValue {
std::string strVal;
};
+/// @brief Holds a signal (raw or virtual) definition. Value could be of
+/// different types, so an intermediate structure is use to store them.
+/// A signal could also be a subject or an observer at the same time, this
+/// is the behavior retained to compose virtual signals based on raw signals.
+/// And this is the way that is used to update and reacts to an underlaying
+/// signal change.
class Signal: public Observable<Signal>, public Observer<Signal>
{
private:
@@ -76,4 +82,7 @@ public:
double maximum(int seconds = 0) const;
struct SignalValue last() const;
//int recursionCheck() const;
+
+ int initialRecursionCheck();
+ int recursionCheck(Signal* obs);
};