00001 #ifndef _ots_InterfacePluginMacro_h_
00002 #define _ots_InterfacePluginMacro_h_
00003
00004 #include <memory>
00005 #include "otsdaq-core/FECore/FEVInterface.h"
00006
00007 #define DEFINE_OTS_INTERFACE(klass) \
00008 extern "C" std::unique_ptr<ots::FEVInterface> make( \
00009 const std::string& interfaceUID, \
00010 const ots::ConfigurationTree& configurationTree, \
00011 const std::string& pathToInterfaceConfiguration) \
00012 { \
00013 return std::unique_ptr<ots::FEVInterface>( \
00014 new klass(interfaceUID, configurationTree, pathToInterfaceConfiguration)); \
00015 }
00016
00017 #endif