File i_sim_runner.h
Last update: 22.04.2026Location: core/service/sim_runner/i_sim_runner.h
Classes
Namespaces
Includes
- core/export/simfwk_core_export.h
-
-
Included by
Source
#ifndef SIMFWK_CORE_SERVICE_SIMRUNNER_ISIMRUNNER_H
#define SIMFWK_CORE_SERVICE_SIMRUNNER_ISIMRUNNER_H
#include "core/export/simfwk_core_export.h"
#include <cstdint>
#include <string>
namespace simulation_framework
{
namespace core
{
struct SIMFWK_CORE_API StateFeedback
{
bool execute_status;
std::string error_msg;
};
enum class SimState
{
kInitialized,
kRunning,
kPaused,
kFinished,
kTerminated,
kError
};
class SIMFWK_CORE_API ISimRunner
{
public:
virtual ~ISimRunner() = default;
virtual StateFeedback Run() = 0;
virtual StateFeedback Pause() = 0;
virtual StateFeedback Resume() = 0;
virtual StateFeedback StepN(int n) = 0;
virtual StateFeedback Stop() = 0;
virtual StateFeedback Terminate() = 0;
virtual SimState GetSimulationState() const = 0;
virtual uint64_t GetExecutedStepCount() const = 0;
virtual void RunOverSimulation() = 0;
};
} // namespace core
} // namespace simulation_framework
#endif // SIMFWK_CORE_SERVICE_SIMRUNNER_ISIMRUNNER_H