SourceXtractorPlusPlus
0.12
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEImplementation
SEImplementation
Partition
PartitionFactory.h
Go to the documentation of this file.
1
17
/*
18
* @file PartitionFactory.h
19
* @author nikoapos
20
*/
21
22
#ifndef _SEIMPLEMENTATION_PARTITIONFACTORY_H
23
#define _SEIMPLEMENTATION_PARTITIONFACTORY_H
24
25
#include "
SEFramework/Configuration/Configurable.h
"
26
#include "
SEFramework/Pipeline/Partition.h
"
27
#include "
SEFramework/Source/SourceFactory.h
"
28
29
#include "
SEImplementation/Configuration/PartitionStepConfig.h
"
30
31
namespace
SourceXtractor {
32
33
class
PartitionFactory
:
public
Configurable
{
34
35
public
:
36
37
PartitionFactory
(
std::shared_ptr<SourceFactory>
source_factory) :
m_source_factory
{source_factory} {
38
}
39
40
virtual
~PartitionFactory
() =
default
;
41
42
void
reportConfigDependencies
(
Euclid::Configuration::ConfigManager
& manager)
const override
{
43
manager.
registerConfiguration
<
PartitionStepConfig
>();
44
}
45
46
void
configure
(
Euclid::Configuration::ConfigManager
& manager)
override
{
47
m_steps
= manager.
getConfiguration
<
PartitionStepConfig
>().getSteps(
m_source_factory
);
48
}
49
50
std::shared_ptr<Partition>
getPartition
()
const
{
51
return
std::make_shared<Partition>(
m_steps
);
52
}
53
54
private
:
55
56
std::shared_ptr<SourceFactory>
m_source_factory
;
57
std::vector<std::shared_ptr<PartitionStep>
>
m_steps
;
58
59
};
60
61
}
/* namespace SourceXtractor */
62
63
#endif
/* _SEIMPLEMENTATION_PARTITIONFACTORY_H */
64
std::shared_ptr< SourceFactory >
SourceXtractor::PartitionFactory
Definition:
PartitionFactory.h:33
SourceXtractor::PartitionStepConfig
Definition:
PartitionStepConfig.h:35
SourceXtractor::PartitionFactory::~PartitionFactory
virtual ~PartitionFactory()=default
SourceXtractor::Configurable
Interface of objects which can be configured.
Definition:
Configurable.h:37
SourceXtractor::PartitionFactory::reportConfigDependencies
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
Definition:
PartitionFactory.h:42
Euclid::Configuration::ConfigManager::registerConfiguration
void registerConfiguration()
Euclid::Configuration::ConfigManager
SourceXtractor::PartitionFactory::m_steps
std::vector< std::shared_ptr< PartitionStep > > m_steps
Definition:
PartitionFactory.h:57
Euclid::Configuration::ConfigManager::getConfiguration
T & getConfiguration()
std::vector
STL class.
Partition.h
SourceFactory.h
SourceXtractor::PartitionFactory::m_source_factory
std::shared_ptr< SourceFactory > m_source_factory
Definition:
PartitionFactory.h:56
SourceXtractor::PartitionFactory::configure
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
Definition:
PartitionFactory.h:46
PartitionStepConfig.h
SourceXtractor::PartitionFactory::getPartition
std::shared_ptr< Partition > getPartition() const
Definition:
PartitionFactory.h:50
Configurable.h
SourceXtractor::PartitionFactory::PartitionFactory
PartitionFactory(std::shared_ptr< SourceFactory > source_factory)
Definition:
PartitionFactory.h:37
Generated by
1.8.5