i_publisher Last update: 16.07.2025 1 5 6#pragma once 7 8#include <chrono> 9#include <memory> 10#include <string> 11#include <vector> 12 17namespace simulation_framework 18{ 19namespace core 20{ 21 22class IPublisher 23{ 24 public: 25 virtual ~IPublisher() = default; 26 virtual void Execute() = 0; 27 virtual void Init() = 0; 28 virtual bool WaitForSubscriber(std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0; 29 virtual bool WaitForSubscribersInNumberOf(const int subscriber_count, 30 std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0; 31}; 32 33using Publishers = std::vector<std::unique_ptr<IPublisher>>; 34 35} // namespace core 36} // namespace simulation_framework coreThe namespace for all core functionalities under namespace simulation_framework. simulation_frameworkThe top namespace for simulation framework.