tdaq-develop-2025-02-12
ProcessorPluginMacros.h
1 #ifndef _ots_ProcessorPluginMacro_h_
2 #define _ots_ProcessorPluginMacro_h_
3 
4 #include <string>
5 #include "otsdaq/DataManager/DataProcessor.h"
6 
7 namespace ots
8 {
9 typedef DataProcessor*(dpvimakeFunc_t)();
10 }
11 
12 #define DEFINE_OTS_PROCESSOR(klass) \
13  extern "C" ots::DataProcessor* make(std::string const& supervisorApplicationUID, \
14  std::string const& bufferUID, \
15  std::string const& processorUID, \
16  const ConfigurationTree& configurationTree, \
17  const std::string& pathToInterfaceConfiguration) \
18  { \
19  return new klass(supervisorApplicationUID, \
20  bufferUID, \
21  processorUID, \
22  configurationTree, \
23  pathToInterfaceConfiguration); \
24  }
25 
26 #endif /* _ots_ProcessorPluginMacro_h_ */