22 #ifndef _CONFIGURATION_CONFIGURATION_H
23 #define _CONFIGURATION_CONFIGURATION_H
25 #include <boost/program_options.hpp>
33 namespace Configuration {
149 template <
typename T>
163 template <
typename T>
166 template <
typename T>
Superclass of all configuration classes.
void declareDependency()
Declares a Configuration as dependency.
virtual void initialize(const UserValues &args)
Method which is called during the initialization phase.
Configuration(long manager_id)
Constructs a new Configuration instance.
std::set< std::type_index > m_dependencies
T & getDependency()
Returns a dependency.
virtual void preInitialize(const UserValues &args)
Method which is called before the initialization phase.
State & getCurrentState()
Returns the current state of the configuration.
const T & getDependency() const
State
Defines the different states the configuration object can be in.
@ FINAL
The postInitialize() method has been called.
@ PRE_INITIALIZED
The preInitialize() method has been called and waits for initialization.
@ INITIALIZED
The initialize() method has been called.
@ CONSTRUCTED
The object has just been constructed.
virtual std::map< std::string, OptionDescriptionList > getProgramOptions()
Returns the program options defined by a specific configuration.
const std::set< std::type_index > & getDependencies()
Returns the dependencies of the configuration.
virtual void postInitialize(const UserValues &args)
Method which is called after the initialization phase.
virtual ~Configuration()=default
Destructor.