Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FWCore_ParameterSet_ValidatedPluginFactoryMacros_h
0002 #define FWCore_ParameterSet_ValidatedPluginFactoryMacros_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     FWCore/ParameterSet
0006 // Class  :     ValidatedPluginFactoryMacros
0007 //
0008 /**\class ValidatedPluginFactoryMacros ValidatedPluginFactoryMacros.h "ValidatedPluginFactoryMacros.h"
0009 
0010  Description: macros used to register a PluginFactory which uses ParameterSet validation
0011 
0012  Usage:
0013     Call EDM_REGISTER_VALIDATED_PLUGINFACTORY instead of EDM_REGISTER_PLUGINFACTORY for the case
0014  where you want to use edm::PluginDescription to validate the plugins. Make sure to also use
0015  DEFINE_EDM_VALIDATED_PLUGIN instead of DEFINE_EDM_PLUGIN when registering the plugins for this
0016  factory.
0017 
0018 */
0019 //
0020 // Original Author:  Chris Jones
0021 //         Created:  Fri, 21 Sep 2018 13:14:22 GMT
0022 //
0023 
0024 // system include files
0025 
0026 // user include files
0027 #include "FWCore/ParameterSet/interface/PluginDescriptionAdaptorBase.h"
0028 #include "FWCore/PluginManager/interface/PluginFactory.h"
0029 
0030 #define EDM_REGISTER_VALIDATED_PLUGINFACTORY(_factory_, _category_)                                                   \
0031   EDM_REGISTER_PLUGINFACTORY(_factory_, _category_);                                                                  \
0032   EDM_REGISTER_PLUGINFACTORY2(edmplugin::PluginFactory<edm::PluginDescriptionAdaptorBase<_factory_::CreatedType>*()>, \
0033                               "PluginDescriptor" _category_)
0034 #endif