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"
34 namespace Antares::Solver
36 class 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);
95 void resetLogFilename()
const;
102 void onLogMessage(
int level,
const std::string& message);
107 std::unique_ptr<Antares::Data::Study> pStudy;
111 uint pErrorCount = 0;
113 uint pWarningCount = 0;
116 const char** pArgv =
nullptr;
122 std::shared_ptr<Yuni::Job::QueueService> ioQueueService;
123 IResultWriter::Ptr resultWriter =
nullptr;
124 std::vector<std::pair<LogType, std::string>> messagesStack;
133 void LogMessageStack(std::vector<std::pair<LogType, std::string>>& stack);
136 void postParametersChecks()
const;
General data for a study.
Definition: parameters.h:51
Definition: load-options.h:34
Definition: application.h:37
std::unique_ptr< Data::Study > acquireStudy()
/!\ Acquire the study. Leave Application object in an invalid state.
Definition: application.h:80
Application()
Default Constructor.
Definition: application.cpp:64
void resetProcessPriority() const
Reset the process priority (Windows only)
Definition: process-priority.cpp:38
void prepare(int argc, const char *argv[])
Initialize data before launching the simulation.
Definition: application.cpp:333
~Application() override
Destructor.
Definition: application.cpp:551
void execute()
Execute the simulation.
Definition: application.cpp:415
Definition: DurationCollector.h:36
Command line settings for launching the simulation.
Definition: options.h:36
Definition: StudyInfoCollector.h:61