base_activity
Last update: 19.09.2025 113 BaseActivity(const std::string& activity_name, const Topics& topics, std::chrono::milliseconds timeout);
202 void AddSubscriber(const core::TopicId& topic_id, typename Topic::SubscriberMessageCallback callback);
This is the concrete Topic class that can be used for creation of a communication channel with given ...
Definition topic.h:38
This is the basic implementation of IActivity interface. Inheriting classes, i.e. a concrete simulati...
Definition base_activity.h:76
std::string GetName() const override
time::Timestamp GetCurrentTimestamp() const final
Get current simulation timestamp.
std::chrono::milliseconds GetCycleTime() const final
Return cycle time of this activity as duration in milliseconds.
void SetUpCommunication() final
Register this activity's bounding communications, managed by higher level. Modifying by inheriting cl...
void AddPublisher(const core::TopicId &topic_id, typename Topic::PublisherCallback callback)
Template method which allows user to add one publisher pushing message to the given Topic.
void SetSimulationSettings(const scheduling::SimulationSettings &sim_settings) final
Set the simulation settings for this activity.
void Step() final
Calls the ExecuteStep() for internal logic and send/receive message from corresponding pub/sub,...
BaseActivity(const std::string &activity_name, const Topics &topics)
Construct an BaseActivity using RTIDDS communication to join simulation.
const SimulationParameters::CustomizedParameters & GetCustomizedParameters() const final
Retrieves the customized parameters for the activity.
BaseActivity(const std::string &activity_name, std::shared_ptr< core::CommunicationManager > communication_manager_ptr, std::unique_ptr< scheduling::ISchedulerClient > scheduler_client, std::chrono::milliseconds timeout)
Construct an BaseActivity to join simulation.
void AddSubscriber(const core::TopicId &topic_id, typename Topic::SubscriberMessageCallback callback)
Template method which allows user to add one subscriber receiving message to the given Topic.
BaseActivity(const std::string &activity_name, const Topics &topics, std::chrono::milliseconds timeout)
Construct an BaseActivity using RTIDDS communication to join simulation.
BaseActivity(const std::string &activity_name, std::shared_ptr< core::CommunicationManager > communication_manager_ptr, std::unique_ptr< scheduling::ISchedulerClient > scheduler_client)
Construct an BaseActivity to join simulation.
virtual ~BaseActivity()
Destructor of an BaseActivity class.
virtual void AddPublisherAndSubscriber()=0
Addition of Pub/Sub into a concrete activity.
virtual void ExecuteStep()=0
Core operation of customer logic in a concrete activity.
void Shutdown() final
std::string GetSimulationOutputDirectory() const final
Return output directory of simulation as string.
Interface for simulation activities.
Definition i_activity.h:30
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.
The SimulationParameters struct encapsulates parameters related to simfwk-core configuration.
Definition simulation_parameters.h:23