File sim_runner.h
Last update: 22.04.2026Location: core/service/sim_runner/sim_runner.h
Classes
Namespaces
Includes
- core/export/simfwk_core_export.h
- core/lifecycle/i_simulation_instance/i_simulation_instance.h
- core/service/sim_runner/i_sim_runner.h
-
Source
#ifndef SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H
#define SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H
#include "core/export/simfwk_core_export.h"
#include "core/lifecycle/i_simulation_instance/i_simulation_instance.h"
#include "core/service/sim_runner/i_sim_runner.h"
#include <memory>
namespace simulation_framework
{
namespace core
{
class SimRunnerImpl;
class SIMFWK_CORE_API SimRunner final : public ISimRunner
{
public:
~SimRunner();
explicit SimRunner(std::unique_ptr<lifecycle::ISimulationInstance> sim_instance);
StateFeedback Run() override;
StateFeedback Pause() override;
StateFeedback Resume() override;
StateFeedback StepN(int n) override;
StateFeedback Stop() override;
StateFeedback Terminate() override;
SimState GetSimulationState() const override;
uint64_t GetExecutedStepCount() const override;
void RunOverSimulation() override;
private:
std::unique_ptr<SimRunnerImpl> impl_;
};
} // namespace core
} // namespace simulation_framework
#endif // SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H