otsdaq  v2_03_00
InterfacePluginMacros.h
1 #ifndef _ots_InterfacePluginMacro_h_
2 #define _ots_InterfacePluginMacro_h_
3 
4 #include <memory>
5 #include "otsdaq-core/FECore/FEVInterface.h"
6 
7 #define DEFINE_OTS_INTERFACE(klass) \
8  extern "C" std::unique_ptr<ots::FEVInterface> make( \
9  const std::string& interfaceUID, \
10  const ots::ConfigurationTree& configurationTree, \
11  const std::string& pathToInterfaceConfiguration) \
12  { \
13  return std::unique_ptr<ots::FEVInterface>( \
14  new klass(interfaceUID, configurationTree, pathToInterfaceConfiguration)); \
15  }
16 
17 #endif /* _ots_InterfacePluginMacro_h_ */