1 #ifndef OCM_SERVER_DAQ_TASKS_HPP
2 #define OCM_SERVER_DAQ_TASKS_HPP
7 #include <rad/Logger.hpp>
8 #include <rad/ActionMgr.hpp>
10 #include "daq/events.rad.hpp"
11 #include "daq/tasks.rad.hpp"
22 template<
typename EVENT>
23 std::function<void(rad::AnyEvent const&)>
26 if (
typeid(ev) ==
typeid(EVENT)) {
27 return action(reinterpret_cast<EVENT const&>(ev));
30 RAD_LOG_ERROR() <<
"WrapAction called with unexpected event. Expected "
31 <<
typeid(EVENT).
name() <<
" but got " <<
typeid(ev).
name();
36 class Tasks :
public Action {
52 void PrepareDaq(daq::PrepareDaq
const& ev)
override;
66 #endif // #ifndef OCM_SERVER_DAQ_TASKS_HPP
#define RAD_LOG_ERROR()
Definition: Logger.hpp:266
void Test(rad::AnyEvent const &ev) override
Definition: action.hpp:54
std::function< void(rad::AnyEvent const &)> WrapAction(std::function< void(EVENT const &)> action)
Definition: action.hpp:24
void PrepareDaq(daq::PrepareDaq const &ev) override
Definition: action.cpp:9
optional int32 action
Definition: topics.proto:56
Tasks()
Definition: action.cpp:5
Definition: AnyEvent.hpp:55
optional string name
Definition: topics.proto:50