1 #ifndef FWCore_Framework_ModuleHolder_h
2 #define FWCore_Framework_ModuleHolder_h
31 class ModuleDescription;
32 class ProductRegistry;
33 class ExceptionToActionTable;
34 class PreallocationConfiguration;
67 return m_mod->moduleDescription();
70 m_mod->setModuleDescription(iDesc);
73 m_mod->doPreallocate(iPrealloc);
77 m_mod->registerProductsAndCallbacks(
module().
get(),iReg);
80 std::unique_ptr<OutputModuleCommunicator>
ModuleHolderT(std::shared_ptr< T > iModule, Maker const *iMaker)
void registerProductsAndCallbacks(ProductRegistry *iReg) override
virtual void replaceModuleFor(Worker *) const =0
void replaceModuleFor(Worker *iWorker) const override
virtual void setModuleDescription(ModuleDescription const &iDesc)=0
void preallocate(PreallocationConfiguration const &iPrealloc) override
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *actions) const
virtual void preallocate(PreallocationConfiguration const &)=0
void setModuleDescription(ModuleDescription const &iDesc) override
virtual ModuleDescription const & moduleDescription() const =0
std::shared_ptr< T > module() const
virtual void registerProductsAndCallbacks(ProductRegistry *)=0
std::shared_ptr< T > m_mod
virtual std::unique_ptr< OutputModuleCommunicator > createOutputModuleCommunicator()=0
std::unique_ptr< OutputModuleCommunicator > createOutputModuleCommunicator() override
ModuleDescription const & moduleDescription() const override
ModuleHolder(Maker const *iMaker)