1 #ifndef FWCore_Framework_WorkerMaker_h
2 #define FWCore_Framework_WorkerMaker_h
18 class ModuleDescription;
21 class ExceptionToActionTable;
30 maker::ModuleHolder
const*)
const;
50 maker::ModuleHolder
const*
mod)
const = 0;
74 T::fillDescriptions(iDesc);
75 T::prevalidate(iDesc);
82 typedef typename UserType::ModuleType ModuleType;
92 maker::ModuleHolder
const*
mod)
const {
94 typedef typename UserType::ModuleType ModuleType;
97 maker::ModuleHolderT<ModuleType>
const*
h =
dynamic_cast<maker::ModuleHolderT<ModuleType>
const*
>(
mod);
98 return std::unique_ptr<Worker>(
new WorkerType(h->module(), md,
actions));
104 return T::baseType();
void throwConfigurationException(ModuleDescription const &md, cms::Exception &iException) const
virtual const std::string & baseType() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const
virtual const std::string & baseType() const =0
virtual std::shared_ptr< maker::ModuleHolder > makeModule(edm::ParameterSet const &p) const
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *, maker::ModuleHolder const *) const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
void validateEDMType(std::string const &edmType, MakeModuleParams const &p) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::shared_ptr< maker::ModuleHolder > makeModule(MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
ModuleDescription createModuleDescription(MakeModuleParams const &p) const
std::shared_ptr< maker::ModuleHolder > makeReplacementModule(edm::ParameterSet const &p) const
T mod(const T &a, const T &b)
void throwValidationException(MakeModuleParams const &p, cms::Exception &iException) const
virtual std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *actions, ModuleDescription const &md, maker::ModuleHolder const *mod) const