23#include <yuni/core/string.h>
25#include <antares/benchmarking/DurationCollector.h>
26#include <antares/benchmarking/timer.h>
27#include <antares/study/load-options.h>
28#include <antares/study/study.h>
29#include <antares/writer/i_writer.h>
30#include "antares/infoCollection/StudyInfoCollector.h"
31#include "antares/solver/misc/options.h"
32#include "antares/solver/simulation/ISimulationObserver.h"
34namespace Antares::Solver
36class Application final:
public Yuni::IEventObserver<Application, Yuni::Policy::SingleThreaded>
60 void prepare(
int argc,
const char* argv[]);
74 void writeExectutionInfo();
82 return std::move(pStudy);
89 void resetLogFilename()
const;
96 void onLogMessage(
int level,
const std::string& message);
101 std::unique_ptr<Antares::Data::Study> pStudy;
105 uint pErrorCount = 0;
107 uint pWarningCount = 0;
110 const char** pArgv =
nullptr;
117 std::shared_ptr<Yuni::Job::QueueService> ioQueueService;
118 IResultWriter::Ptr resultWriter =
nullptr;
129 void handleParserReturn(Yuni::GetOpt::Parser* parser);
130 void postParametersChecks()
const;
General data for a study.
Definition parameters.h:51
Definition load-options.h:36
Definition application.h:37
Application()
Default Constructor.
Definition application.cpp:57
void resetProcessPriority() const
Reset the process priority (Windows only)
Definition process-priority.cpp:40
void prepare(int argc, const char *argv[])
Initialize data before launching the simulation.
Definition application.cpp:307
~Application() override
Destructor.
Definition application.cpp:494
void execute()
Execute the simulation.
Definition application.cpp:369
std::unique_ptr< Data::Study > acquireStudy()
/!\ Acquire the study. Leave Application object in an invalid state.
Definition application.h:80
Definition DurationCollector.h:36
Command line settings for launching the simulation.
Definition options.h:37
Definition StudyInfoCollector.h:61