Skip to main content

AVxcelerate Simulation Framework 2025 R2 SP02

i_activity_factory

Last update: 19.09.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
19{
20namespace core
21{
22namespace 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
This is the concrete Topic class that can be used for creation of a communication channel with given ...
Definition topic.h:38
Interface for creating simulation activities.
virtual time::milliseconds GetSimulationBaseCycleTime() const =0
Retrieves the simulation's base cycle time.
virtual std::unique_ptr< IActivity > CreateFmuActivity(const std::string &activity_name, const FmuConfig &fmu_config, const scheduling::SchedulerClientType type=scheduling::SchedulerClientType::kDUMMY)=0
Creates an FMU-based activity instance.
virtual std::unique_ptr< IActivity > Create(const std::string &activity_name, const scheduling::SchedulerClientType type=scheduling::SchedulerClientType::kDUMMY)=0
Creates an activity instance based on the provided name and type.
virtual ~IActivityFactory()=default
Virtual destructor for proper cleanup of derived classes.
virtual void SetSimulationBaseCycleTime(const time::milliseconds &time)=0
Sets the simulation's base cycle time.
The namespace for all core functionalities under namespace simulation_framework.
The top namespace for simulation framework.
The namespace for simulation time related implementation under namespace simulation_framework::core.
A helper struct to pass necessary information to create FmuBaseActivity.
Definition fmu_config.h:33

Connect with Ansys