otsdaq  v2_05_02_indev
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, bufferUID, processorUID, configurationTree, pathToInterfaceConfiguration); \
20  }
21 
22 #endif /* _ots_ProcessorPluginMacro_h_ */