Skip to main content

AVxcelerate Simulation Framework 2025 R1

i_activity_factory

Last update: 16.07.2025
1 
5 
6 #pragma once
7 
8 #include "core/lifecycle/activity/i_activity.h"
9 #include "core/lifecycle/fmu_activity/fmu_config.h"
10 #include "core/scheduler/i_scheduler_client/i_scheduler_client.h"
11 #include "core/time/i_clock/i_clock.h"
12 #include <string>
13 
18 namespace simulation_framework
19 {
20 namespace core
21 {
22 namespace lifecycle
23 {
24 
31 {
32  public:
34  virtual ~IActivityFactory() = default;
35 
41  virtual std::unique_ptr<IActivity> Create(
42  const std::string& activity_name,
43  const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) = 0;
44 
51  virtual std::unique_ptr<IActivity> CreateFmuActivity(
52  const std::string& activity_name,
53  const FmuConfig& fmu_config,
54  const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) = 0;
55 
59  virtual time::milliseconds GetSimulationBaseCycleTime() const = 0;
60 
64  virtual void SetSimulationBaseCycleTime(const time::milliseconds& time) = 0;
65 };
66 
67 } // namespace lifecycle
68 } // namespace core
69 } // namespace simulation_framework

Connect with Ansys