SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
TaskFactory.h
Go to the documentation of this file.
1
22
23#ifndef _SEFRAMEWORK_TASK_TASKFACTORY_H
24#define _SEFRAMEWORK_TASK_TASKFACTORY_H
25
26#include <vector>
27#include <memory>
28
33
34namespace SourceXtractor {
35
41
42class TaskFactory : public Configurable {
43
44public:
45
47 virtual ~TaskFactory() = default;
48
50 virtual std::shared_ptr<Task> createTask(const PropertyId& property_id) const = 0;
51
52 // Provides a default implementation of the Configurable interface that does nothing
55
57 // By default do nothing
58 }
59
60private:
61
62}; /* End of TaskFactory class */
63
64} /* namespace SourceXtractor */
65
66
67#endif
Interface of objects which can be configured.
Identifier used to set and retrieve properties.
Definition PropertyId.h:40
Creates a Task for computing a given property.
Definition TaskFactory.h:42
virtual ~TaskFactory()=default
Destructor.
void reportConfigDependencies(Euclid::Configuration::ConfigManager &) const override
Registers all the Configuration dependencies.
Definition TaskFactory.h:53
virtual std::shared_ptr< Task > createTask(const PropertyId &property_id) const =0
Returns a Task producing a Property corresponding to the given PropertyId.
void configure(Euclid::Configuration::ConfigManager &) override
Method which should initialize the object.
Definition TaskFactory.h:54
virtual void registerPropertyInstances(OutputRegistry &)
Definition TaskFactory.h:56