OSSIA
Open Scenario System for Interactive Application
expression_pulse.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <ossia/detail/config.hpp>
3 
5 #include <ossia/network/base/node.hpp>
6 #include <ossia/network/base/parameter.hpp>
7 #include <ossia/network/value/value.hpp>
8 
9 #include <memory>
10 
14 namespace ossia
15 {
16 class destination;
17 
18 namespace expressions
19 {
24 class OSSIA_EXPORT expression_pulse final : public expression_callback_container
25 {
26 public:
27  expression_pulse(const destination& destination);
28  expression_pulse(expression_pulse&& other) = delete;
29  expression_pulse& operator=(expression_pulse&& other) = delete;
30  expression_pulse(const expression_pulse& other) = delete;
31  expression_pulse& operator=(const expression_pulse& other) = delete;
32 
33  virtual ~expression_pulse();
34 
39  bool evaluate() const;
40 
42  void update() const;
43 
44  void reset();
45 
46  const destination& get_destination() const;
47 
48 private:
49  void on_first_callback_added() override;
50  void on_removing_last_callback() override;
51 
52  void destination_callback(const value& value);
53 
54  destination m_destination;
55 
56  net::parameter_base::callback_index m_callback;
57  mutable bool m_result{};
58 };
59 }
60 }
expression_pulse : becomes true when a message happens
Definition: expression_pulse.hpp:25
The value class.
Definition: value.hpp:173
Definition: git_info.h:7