File i_activity.h
Last update: 22.04.2026Location: core/lifecycle/activity/i_activity.h
Classes
Namespaces
Includes
- core/export/simfwk_core_export.h
- core/scheduler/event/simulation_settings.h
- core/service/parameter/simulation_parameters.h
- core/time/i_clock/timestamp.h
-
-
Included by
Source
#ifndef SIMFWK_CORE_LIFECYCLE_ACTIVITY_IACTIVITY_H
#define SIMFWK_CORE_LIFECYCLE_ACTIVITY_IACTIVITY_H
#include "core/export/simfwk_core_export.h"
#include "core/scheduler/event/simulation_settings.h"
#include "core/service/parameter/simulation_parameters.h"
#include "core/time/i_clock/timestamp.h"
#include <chrono>
#include <string>
namespace simulation_framework
{
namespace core
{
namespace lifecycle
{
class SIMFWK_CORE_API IActivity
{
public:
virtual ~IActivity() = default;
virtual void Init() = 0;
virtual void WaitForPubSubConnection() = 0;
virtual void Step() = 0;
virtual void Finalize() = 0;
virtual void Shutdown() = 0;
virtual std::string GetName() const = 0;
virtual time::Timestamp GetCurrentTimestamp() const = 0;
virtual std::chrono::milliseconds GetCycleTime() const = 0;
virtual const SimulationParameters::CustomizedParameters& GetCustomizedParameters() const = 0;
virtual std::string GetSimulationOutputDirectory() const = 0;
virtual void SetUpCommunication() = 0;
virtual void SetSimulationSettings(const scheduling::SimulationSettings& sim_settings) = 0;
};
} // namespace lifecycle
} // namespace core
} // namespace simulation_framework
#endif // SIMFWK_CORE_LIFECYCLE_ACTIVITY_IACTIVITY_H