1 #ifndef FWCore_Framework_WorkerMaker_h
2 #define FWCore_Framework_WorkerMaker_h
14 class ModuleDescription;
62 T::fillDescriptions(iDesc);
63 T::prevalidate(iDesc);
69 typedef typename UserType::ModuleType ModuleType;
70 typedef typename UserType::WorkerType WorkerType;
73 return std::unique_ptr<Worker>(
new WorkerType(std::move(module), md, p));
80 typedef typename UserType::ModuleType ModuleType;
81 typedef typename UserType::WorkerType WorkerType;
83 WorkerType* wt =
dynamic_cast<WorkerType*
>(
w);
88 wt->setModule(std::move(module));
ModuleDescription const & description() const
virtual const std::string & baseType() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const
virtual const std::string & baseType() const =0
void swapModule(Worker *, ParameterSet const &)
void validateEDMType(std::string const &edmType, WorkerParams const &p) const
virtual void implSwapModule(Worker *, ParameterSet const &)=0
ModuleDescription createModuleDescription(WorkerParams const &p) const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
virtual std::unique_ptr< Worker > makeWorker(WorkerParams const &p, ModuleDescription const &md) const
virtual void implSwapModule(Worker *, ParameterSet const &)
void throwConfigurationException(ModuleDescription const &md, signalslot::Signal< void(ModuleDescription const &)> &post, cms::Exception &iException) const
std::unique_ptr< Worker > makeWorker(WorkerParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
void throwValidationException(WorkerParams const &p, cms::Exception &iException) const