32 #include <sol/state_view.hpp>
35 #include <cloe/stack.hpp>
49 class CommandExecuter;
53 class SimulationResult;
54 class SimulationProbe;
97 std::unique_ptr<cloe::DataBroker> db;
98 std::unique_ptr<Server> server;
99 std::shared_ptr<Coordinator> coordinator;
100 std::shared_ptr<Registrar> registrar;
124 std::map<std::string, std::unique_ptr<cloe::Simulator>> simulators;
125 std::map<std::string, std::shared_ptr<cloe::Vehicle>> vehicles;
126 std::map<std::string, std::unique_ptr<cloe::Controller>> controllers;
138 std::optional<SimulationOutcome> outcome;
139 std::optional<SimulationResult> result;
140 std::optional<SimulationProbe> probe;
149 std::shared_ptr<events::LoopCallback> callback_loop;
150 std::shared_ptr<events::PauseCallback> callback_pause;
151 std::shared_ptr<events::ResumeCallback> callback_resume;
152 std::shared_ptr<events::StartCallback> callback_start;
153 std::shared_ptr<events::StopCallback> callback_stop;
154 std::shared_ptr<events::SuccessCallback> callback_success;
155 std::shared_ptr<events::FailureCallback> callback_failure;
156 std::shared_ptr<events::ResetCallback> callback_reset;
157 std::shared_ptr<events::TimeCallback> callback_time;
166 std::string version()
const;
167 cloe::Logger logger()
const;
169 std::shared_ptr<cloe::Registrar> simulation_registrar();
171 std::vector<std::string> model_ids()
const;
172 std::vector<std::string> simulator_ids()
const;
173 std::vector<std::string> controller_ids()
const;
174 std::vector<std::string> vehicle_ids()
const;
175 std::vector<std::string> plugin_ids()
const;
177 bool foreach_model(std::function<
bool(
cloe::Model&,
const char* type)> f);
178 bool foreach_model(std::function<
bool(
const cloe::Model&,
const char* type)> f)
const;
180 bool foreach_simulator(std::function<
bool(
const cloe::Simulator&)> f)
const;
182 bool foreach_controller(std::function<
bool(
const cloe::Controller&)> f)
const;
184 bool foreach_vehicle(std::function<
bool(
const cloe::Vehicle&)> f)
const;
Definition: controller.hpp:126
Definition: model.hpp:203
Definition: simulator.hpp:139
Definition: vehicle.hpp:106
Definition: simulation_progress.hpp:37
Definition: simulation_sync.hpp:34
Definition: simulation_context.hpp:67
cloe::Stack config
Input configuration.
Definition: simulation_context.hpp:79
std::string uuid
UUID to use for simulation.
Definition: simulation_context.hpp:80
bool pause_execution
Definition: simulation_context.hpp:134
SimulationProgress progress
Track the approximate progress of the simulation.
Definition: simulation_context.hpp:116
bool report_progress
Report simulation progress to the console.
Definition: simulation_context.hpp:83
bool probe_simulation
Definition: simulation_context.hpp:89
std::unique_ptr< CommandExecuter > commander
Configurable system command executer for triggers.
Definition: simulation_context.hpp:103
SimulationSync sync
Track the simulation timing.
Definition: simulation_context.hpp:113
cloe::Model * now_initializing
Definition: simulation_context.hpp:122
Definition: simulation_statistics.hpp:29