31 #ifndef DPP_CHAIN_MODULE_H 32 #define DPP_CHAIN_MODULE_H 1 63 bool has_module(
const std::string & label_)
const;
72 virtual void initialize(const ::datatools::properties & ,
83 virtual void tree_dump(std::ostream & out_ = std::clog,
84 const std::string & title_ =
"",
85 const std::string & indent_ =
"",
86 bool inherit_ =
false)
const;
99 #endif // DPP_CHAIN_MODULE_H
chain_module(datatools::logger::priority=datatools::logger::PRIO_FATAL)
Constructor.
Top-level namespace of the Bayeux/dpp module library.
Definition: base_module.h:56
module_list_type _modules_
The list of data processing modules.
Definition: chain_module.h:90
process_status
Processing status flags used as the returned value of data processing methods through the pipeline.
Definition: base_module.h:65
std::string label
Label of the module.
Definition: chain_module.h:52
bool has_module(const std::string &label_) const
Check if a module with a given name exists.
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
module_handle_type handle
Handle of the module.
Definition: chain_module.h:53
virtual void initialize(const ::datatools::properties &, datatools::service_manager &, dpp::module_handle_dict_type &)
Initialization.
void add_module(const std::string &label_, const module_handle_type &handle_module_)
Add a module in the processing chain.
virtual process_status process(::datatools::things &)
Data record processing.
std::map< std::string, module_entry_type > module_handle_dict_type
Definition: module_tools.h:141
Base processing module (abstract interface)
Definition: base_module.h:59
virtual void reset()
Reset.
#define DPP_MODULE_REGISTRATION_INTERFACE(T)
Definition: base_module.h:231
virtual ~chain_module()
Destructor.
A data processing module to chain children data processing modules.
Definition: chain_module.h:44
Record for a module using a specific label.
Definition: chain_module.h:50
std::list< module_entry > module_list_type
Definition: chain_module.h:56