CMS 3D CMS Logo

ParameterSetDescriptionFillerPluginFactory.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_ParameterSetDescriptionFillerPluginFactory_h
2 #define FWCore_ParameterSet_ParameterSetDescriptionFillerPluginFactory_h
3 // -*- C++ -*-
4 //
5 // Package: ParameterSet
6 // Class : ParameterSetDescriptionFillerPluginFactory
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed Aug 1 16:47:01 EDT 2007
19 //
20 
21 // system include files
22 
23 // user include files
26 
27 // forward declarations
28 
29 namespace edm {
31 }
32 
33 #define DEFINE_FWK_PSET_DESC_FILLER_IMPL(type, name, postfix) \
34  static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::ParameterSetDescriptionFiller<type> > \
35  EDM_PLUGIN_SYM(s_filler##postfix, __LINE__)(name)
36 //NOTE: Can't do the below since this appears on the same line as another factory and w'ed have two variables with the same name
37 //DEFINE_EDM_PLUGIN (edm::ParameterSetDescriptionFillerPluginFactory,type,#type)
38 
39 #define DEFINE_FWK_PSET_DESC_FILLER(type) DEFINE_FWK_PSET_DESC_FILLER_IMPL(type, #type, _0)
40 
41 // Define another analogous macro to handle the special case of services.
42 
43 #define DEFINE_DESC_FILLER_FOR_SERVICES(pluginName, serviceType) \
44  static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::DescriptionFillerForServices<serviceType> > \
45  EDM_PLUGIN_SYM(s_filler, __LINE__)(#pluginName)
46 
47 #define DEFINE_DESC_FILLER_FOR_ESSOURCES_IMPL(type, name) \
48  static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::DescriptionFillerForESSources<type> > \
49  EDM_PLUGIN_SYM(s_filler, __LINE__)(name)
50 #define DEFINE_DESC_FILLER_FOR_ESSOURCES(type) DEFINE_DESC_FILLER_FOR_ESSOURCES_IMPL(type, #type)
51 
52 #define DEFINE_DESC_FILLER_FOR_ESPRODUCERS_IMPL(type, name, postfix) \
53  static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::DescriptionFillerForESProducers<type> > \
54  EDM_PLUGIN_SYM(s_filler##postfix, __LINE__)(name)
55 #define DEFINE_DESC_FILLER_FOR_ESPRODUCERS(type) DEFINE_DESC_FILLER_FOR_ESPRODUCERS_IMPL(type, #type, _0)
56 
57 #define DEFINE_DESC_FILLER_FOR_EDLOOPERS(type) \
58  static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::DescriptionFillerForEDLoopers<type> > \
59  EDM_PLUGIN_SYM(s_filler, __LINE__)(#type)
60 
61 #endif
edmplugin::PluginFactory< ParameterSetDescriptionFillerBase *(void)> ParameterSetDescriptionFillerPluginFactory
HLT enums.