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