    

 ## On this page

  

 

 # File i\_scheduler\_client.h

 Last update: 22.04.2026 

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

**Location**: `core/scheduler/i_scheduler_client/i_scheduler_client.h`

## Classes

- [simulation\_framework::core::scheduling::ISchedulerClient](classsimulation__framework_1_1core_1_1scheduling_1_1ISchedulerClient.md#classsimulation__framework_1_1core_1_1scheduling_1_1ISchedulerClient)

## Namespaces

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

## Includes

- core/export/simfwk\_core\_export.h
- [core/lifecycle/activity/i\_activity.h](i__activity_8h.md#i__activity_8h)
- core/scheduler/event/simulation\_settings.h
- [core/time/i\_clock/timestamp.h](timestamp_8h.md#timestamp_8h)
- 

## Included by

- [activity\_factory.h](activity__factory_8h.md#activity__factory_8h)
- [base\_activity.h](base__activity_8h.md#base__activity_8h)
- [fmu\_base\_activity.h](fmu__base__activity_8h.md#fmu__base__activity_8h)
- [i\_activity\_factory.h](i__activity__factory_8h.md#i__activity__factory_8h)
- [scheduler\_client\_creator.h](scheduler__client__creator_8h.md#scheduler__client__creator_8h)

## Source

```cpp


#ifndef SIMFWK_CORE_SCHEDULER_ISCHEDULERCLIENT_ISCHEDULERCLIENT_H
#define SIMFWK_CORE_SCHEDULER_ISCHEDULERCLIENT_ISCHEDULERCLIENT_H

#include "core/export/simfwk_core_export.h"
#include "core/lifecycle/activity/i_activity.h"
#include "core/scheduler/event/simulation_settings.h"
#include "core/time/i_clock/timestamp.h"
#include <string>

namespace simulation_framework
{
namespace core
{
namespace scheduling
{

using lifecycle::IActivity;


enum class SchedulerClientType
{
    kRTIDDS = 0,  
    kDUMMY,       
};

class SIMFWK_CORE_API ISchedulerClient
{
  public:
    virtual ~ISchedulerClient() = default;

    virtual void BindActivity(IActivity* activity) = 0;

    virtual bool ShouldStep(const std::string& topic_name) = 0;

    virtual void SendAbort() = 0;

    virtual time::Timestamp GetCurrentTimestamp() const = 0;

    virtual const SimulationSettings& GetSimulationSettings() const = 0;

    virtual bool IsPrimaryActivity() const = 0;

    virtual void SetSimulationSettings(const SimulationSettings& sim_settings) = 0;
};

}  // namespace scheduling
}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_SCHEDULER_ISCHEDULERCLIENT_ISCHEDULERCLIENT_H

```