OSSIA
Open Scenario System for Interactive Application
messages.hpp
1 #pragma once
2 #include <ossia/dataflow/data.hpp>
3 #include <ossia/dataflow/execution_state.hpp>
4 #include <ossia/dataflow/graph_node.hpp>
5 #include <ossia/dataflow/value_port.hpp>
7 
8 namespace ossia::nodes
9 {
10 // This is only used for testing so not very efficient by design
11 class messages final : public ossia::graph_node
12 {
13 public:
14  messages() { }
15 
16  void run(const ossia::token_request&, ossia::exec_state_facade e) noexcept override
17  {
18  for(auto& msg : data)
19  {
20  ossia::value_port p;
21  p.add_local_value(
22  ossia::typed_value{msg.message_value, msg.dest.index, msg.dest.unit});
23 
24  e.impl->insert(msg.dest.address(), p);
25  }
26  }
27 
28  std::vector<ossia::message> data;
29 };
30 }