-
Notifications
You must be signed in to change notification settings - Fork 298
/
Configuration.cpp
47 lines (40 loc) · 1.29 KB
/
Configuration.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/** @addtogroup coreSimcontroller
*
* @{
*/
#include <Core/ModelicaDefine.h>
#include <Core/Modelica.h>
#include <Core/SimController/Configuration.h>
#if defined(OMC_BUILD) || defined(SIMSTER_BUILD)
#include "LibrariesConfig.h"
#endif
Configuration::Configuration(PATH libraries_path, PATH config_path, PATH modelicasystem_path)
: ConfigurationPolicy(libraries_path, modelicasystem_path, config_path)
{
_settings_factory = createSettingsFactory();
_global_settings = _settings_factory->createSolverGlobalSettings();
}
Configuration::~Configuration(void)
{
}
shared_ptr<IGlobalSettings> Configuration::getGlobalSettings()
{
return _global_settings;
}
ISimControllerSettings* Configuration::getSimControllerSettings()
{
return _simcontroller_settings.get();
}
ISolverSettings* Configuration::getSolverSettings()
{
return _solver_settings.get();
}
shared_ptr<ISolver> Configuration::createSelectedSolver(IMixedSystem* system)
{
string solver_name = _global_settings->getSelectedSolver();
_solver_settings =_settings_factory->createSelectedSolverSettings();
_simcontroller_settings = shared_ptr<ISimControllerSettings>(new ISimControllerSettings(_global_settings.get()) );
_solver = createSolver(system, solver_name, _solver_settings);
return _solver;
}
/** @} */ // end of coreSimcontroller