/
Configuration.cpp
48 lines (34 loc) · 1.2 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
48
#include "Modelica.h"
#include <SimCoreFactory/Policies/FactoryConfig.h>
#include <OMCFactory/OMCFactory.h>
#include "Configuration.h"
#include "LibrariesConfig.h"
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)
{
}
IGlobalSettings* Configuration::getGlobalSettings()
{
return _global_settings.get();
}
ISimControllerSettings* Configuration::getSimControllerSettings()
{
return _simcontroller_settings.get();
}
ISolverSettings* Configuration::getSolverSettings()
{
return _solver_settings.get();
}
boost::shared_ptr<ISolver> Configuration::createSelectedSolver(IMixedSystem* system)
{
string solver_name = _global_settings->getSelectedSolver();
_solver_settings =_settings_factory->createSelectedSolverSettings();
_simcontroller_settings = boost::shared_ptr<ISimControllerSettings>(new ISimControllerSettings(_global_settings.get()) );
_solver = createSolver(system, solver_name, _solver_settings);
return _solver;
}