Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:52

0001 #ifndef FWCore_ParameterSet_ValidatedPluginMacros_h
0002 #define FWCore_ParameterSet_ValidatedPluginMacros_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     FWCore/ParameterSet
0006 // Class  :     ValidatedPluginMacros
0007 //
0008 /**\class ValidatedPluginMacros ValidatedPluginMacros.h "ValidatedPluginMacros.h"
0009 
0010  Description: Registration macros for plugins that use ParameterSet validation
0011 
0012  Usage:
0013  Call DEFINE_EDM_VALIDATED_PLUGIN instead of DEFINE_EDM_PLUGIN for the case
0014  where you registered the PluginFactory with ED_REGISTER_VALIDATED_PLUGINFACTORY.
0015 
0016 */
0017 //
0018 // Original Author:  Chris Jones
0019 //         Created:  Fri, 21 Sep 2018 13:09:38 GMT
0020 //
0021 
0022 // system include files
0023 
0024 // user include files
0025 #include "FWCore/ParameterSet/interface/PluginDescriptionAdaptor.h"
0026 #include "FWCore/PluginManager/interface/PluginFactory.h"
0027 
0028 #define DEFINE_EDM_VALIDATED_PLUGIN(factory, type, name)                                                   \
0029   DEFINE_EDM_PLUGIN(factory, type, name);                                                                  \
0030   using EDM_PLUGIN_SYM(adaptor_t, __LINE__) = edm::PluginDescriptionAdaptor<factory::CreatedType, type>;   \
0031   DEFINE_EDM_PLUGIN2(edmplugin::PluginFactory<edm::PluginDescriptionAdaptorBase<factory::CreatedType>*()>, \
0032                      EDM_PLUGIN_SYM(adaptor_t, __LINE__),                                                  \
0033                      name)
0034 
0035 #endif