File i_activity_factory.h
Last update: 22.04.2026Location: core/lifecycle/i_activity_factory/i_activity_factory.h
Classes
Namespaces
Includes
- core/export/simfwk_core_export.h
- core/lifecycle/activity/i_activity.h
- core/lifecycle/fmu_activity/fmu_config.h
- core/scheduler/i_scheduler_client/i_scheduler_client.h
- core/time/i_clock/i_clock.h
-
Included by
Source
#ifndef SIMFWK_CORE_LIFECYCLE_IACTIVITYFACTORY_IACTIVITYFACTORY_H
#define SIMFWK_CORE_LIFECYCLE_IACTIVITYFACTORY_IACTIVITYFACTORY_H
#include "core/export/simfwk_core_export.h"
#include "core/lifecycle/activity/i_activity.h"
#include "core/lifecycle/fmu_activity/fmu_config.h"
#include "core/scheduler/i_scheduler_client/i_scheduler_client.h"
#include "core/time/i_clock/i_clock.h"
#include <string>
namespace simulation_framework
{
namespace core
{
namespace lifecycle
{
class SIMFWK_CORE_API IActivityFactory
{
public:
virtual ~IActivityFactory() = default;
virtual std::unique_ptr<IActivity> Create(
const std::string& activity_name,
const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) = 0;
virtual std::unique_ptr<IActivity> CreateFmuActivity(
const std::string& activity_name,
const FmuConfig& fmu_config,
const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) = 0;
virtual time::milliseconds GetSimulationBaseCycleTime() const = 0;
virtual void SetSimulationBaseCycleTime(const time::milliseconds& time) = 0;
};
} // namespace lifecycle
} // namespace core
} // namespace simulation_framework
#endif // SIMFWK_CORE_LIFECYCLE_IACTIVITYFACTORY_IACTIVITYFACTORY_H