1 #ifndef FWCore_Framework_SourceFactory_h
2 #define FWCore_Framework_SourceFactory_h
36 namespace eventsetup {
37 class DataProxyProvider;
38 class EventSetupsController;
42 std::shared_ptr<DataProxyProvider> pProvider(iComponent);
45 pProvider->setDescription(description);
46 iProvider.
add(pProvider);
58 std::shared_ptr<T> iComponent,
60 bool matchesPreceding) {
61 if (matchesPreceding) {
65 addProviderTo(iProvider, iComponent, static_cast<const T*>(
nullptr));
66 std::shared_ptr<EventSetupRecordIntervalFinder> pFinder(iComponent);
67 iProvider.
add(pFinder);
70 std::shared_ptr<EventSetupRecordIntervalFinder> iComponent);
77 std::shared_ptr<base_type>
const& component);
82 template <
class TType>
91 #define DEFINE_FWK_EVENTSETUP_SOURCE(type) \
92 DEFINE_EDM_PLUGIN(edm::eventsetup::SourcePluginFactory, edm::eventsetup::SourceMaker<type>, #type); \
93 DEFINE_DESC_FILLER_FOR_ESSOURCES(type)
static std::string name()
static void replaceExisting(EventSetupProvider &iProvider, std::shared_ptr< EventSetupRecordIntervalFinder > iComponent)
static void addTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, ParameterSet const &iConfiguration, bool matchesPreceding)
ComponentFactory< SourceMakerTraits > SourceFactory
EventSetupRecordIntervalFinder base_type
static void logInfoWhenSharing(ParameterSet const &iConfiguration)
static std::shared_ptr< base_type > getComponentAndRegisterProcess(EventSetupsController &esController, ParameterSet const &iConfiguration)
static void putComponent(EventSetupsController &esController, ParameterSet const &iConfiguration, std::shared_ptr< base_type > const &component)
void add(std::shared_ptr< DataProxyProvider >)
void addProviderTo(EventSetupProvider &iProvider, std::shared_ptr< T > iComponent, const DataProxyProvider *)