File indexing completed on 2025-03-13 02:31:49
0001 #ifndef FWCore_Framework_ModuleChanger_h
0002 #define FWCore_Framework_ModuleChanger_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <string>
0024
0025
0026 #include "FWCore/Utilities/interface/propagate_const.h"
0027 #include "FWCore/Framework/interface/ESRecordsToProductResolverIndices.h"
0028
0029
0030
0031 namespace edm {
0032 class ParameterSet;
0033 class Schedule;
0034 class SignallingProductRegistryFiller;
0035
0036 class ModuleChanger {
0037 public:
0038 ModuleChanger(Schedule*,
0039 SignallingProductRegistryFiller const* iReg,
0040 eventsetup::ESRecordsToProductResolverIndices);
0041 ModuleChanger(const ModuleChanger&) = delete;
0042 const ModuleChanger& operator=(const ModuleChanger&) = delete;
0043 virtual ~ModuleChanger();
0044
0045
0046
0047
0048
0049
0050 bool changeModule(const std::string& iLabel, const ParameterSet& iPSet);
0051
0052 private:
0053
0054 edm::propagate_const<Schedule*> schedule_;
0055 SignallingProductRegistryFiller const* registry_;
0056 eventsetup::ESRecordsToProductResolverIndices indices_;
0057 };
0058 }
0059 #endif