i_scheduler_client Last update: 16.07.2025 1 5 6#pragma once 7 8#include "core/lifecycle/activity/i_activity.h" 9#include "core/scheduler/event/simulation_settings.h" 10#include "core/time/i_clock/timestamp.h" 11#include <string> 12 17namespace simulation_framework 18{ 19namespace core 20{ 21namespace scheduling 22{ 23 24using lifecycle::IActivity; 25 27 32enum class SchedulerClientType 33{ 34 kRTIDDS = 0, 35 kDUMMY, 36}; 37 38class ISchedulerClient 39{ 40 public: 41 virtual ~ISchedulerClient() = default; 42 47 virtual void BindActivity(IActivity* activity) = 0; 48 54 virtual bool ShouldStep(const std::string& topic_name) = 0; 55 59 virtual void SendAbort() = 0; 60 64 virtual time::Timestamp GetCurrentTimestamp() const = 0; 65 69 virtual SimulationSettings GetSimulationSettings() const = 0; 70 74 virtual bool IsPrimaryActivity() const = 0; 75}; 76 77} // namespace scheduling 78} // namespace core 79} // namespace simulation_framework coreThe namespace for all core functionalities under namespace simulation_framework. simulation_frameworkThe top namespace for simulation framework.