    

 ## On this page

  

 

 # File i\_sim\_runner.h

 Last update: 22.04.2026 

![](https://img.shields.io/badge/language-C%2B%2B-blue "C++")

**Location**: `core/service/sim_runner/i_sim_runner.h`

## Classes

- [simulation\_framework::core::StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.md#structsimulation__framework_1_1core_1_1StateFeedback)
- [simulation\_framework::core::ISimRunner](classsimulation__framework_1_1core_1_1ISimRunner.md#classsimulation__framework_1_1core_1_1ISimRunner)

## Namespaces

- [simulation\_framework](namespacesimulation__framework.md#namespacesimulation__framework)
- [simulation\_framework::core](namespacesimulation__framework_1_1core.md#namespacesimulation__framework_1_1core)

## Includes

- core/export/simfwk\_core\_export.h
- 
- 

## Included by

- [cli.h](cli_8h.md#cli_8h)
- [cli\_server.h](cli__server_8h.md#cli__server_8h)
- [i\_cli\_server.h](i__cli__server_8h.md#i__cli__server_8h)
- [sim\_runner.h](sim__runner_8h.md#sim__runner_8h)

## Source

```cpp


#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

```