From b369f340924b1ef1fa4f11fa31055d9e22c080b0 Mon Sep 17 00:00:00 2001 From: Henrik Stickann <4376396-Mithradir@users.noreply.gitlab.com> Date: Sun, 10 Apr 2022 15:24:03 +0200 Subject: [PATCH] Add signal interface --- include/sta/signal.hpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 include/sta/signal.hpp diff --git a/include/sta/signal.hpp b/include/sta/signal.hpp new file mode 100644 index 0000000..e32a204 --- /dev/null +++ b/include/sta/signal.hpp @@ -0,0 +1,37 @@ +#ifndef STA_SIGNAL_HPP +#define STA_SIGNAL_HPP + + +namespace sta +{ + /** + * @brief Signal interface + */ + class Signal + { + public: + /** + * @brief Enter signaled state. + */ + virtual void notify() = 0; + /** + * @brief Check signal state w/o changing it. + * + * @return True if in signaled state + */ + virtual bool peek() = 0; + /** + * @brief Check signal state. + * + * @return True if in signaled state + */ + virtual bool test() = 0; + /** + * @brief Wait until signaled state is entered. + */ + virtual void wait() = 0; + }; +} // namespace sta + + +#endif // STA_SIGNAL_HPP