1 #ifndef FWCore_Framework_WorkerMaker_h 2 #define FWCore_Framework_WorkerMaker_h 18 class ModuleDescription;
21 class ExceptionToActionTable;
75 T::prevalidate(iDesc);
85 return std::shared_ptr<maker::ModuleHolder>(std::make_shared<maker::ModuleHolderT<ModuleType> >(
MakerHelperType::template makeModule<UserType>(
p),
this));
96 return std::make_unique<WorkerType>(h->
module(), md,
actions);
102 return T::baseType();
roAction_t actions[nactions]
void throwConfigurationException(ModuleDescription const &md, cms::Exception &iException) const
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *actions, ModuleDescription const &md, maker::ModuleHolder const *mod) const override
const std::string & baseType() const override
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *, maker::ModuleHolder const *) const
std::shared_ptr< T > module() const
std::shared_ptr< maker::ModuleHolder > makeModule(edm::ParameterSet const &p) const override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
def template(fileName, svg, replaceme="REPLACEME")
void validateEDMType(std::string const &edmType, MakeModuleParams const &p) const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
virtual const std::string & baseType() const =0
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
void fillDescriptions(ConfigurationDescriptions &iDesc) const override
T mod(const T &a, const T &b)
void throwValidationException(MakeModuleParams const &p, cms::Exception &iException) const