i_subscriber Last update: 16.07.2025 1 5 6 #pragma once 7 8 #include <chrono> 9 #include <memory> 10 #include <string> 11 #include <vector> 12 13 namespace simulation_framework 14 { 15 namespace core 16 { 17 18 class ISubscriber 19 { 20 public: 21 virtual ~ISubscriber() = default; 22 virtual void Execute() = 0; 23 virtual void Init() = 0; 24 virtual bool WaitForPublisher(std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0; 25 }; 26 27 using Subscribers = std::vector<std::unique_ptr<ISubscriber>>; 28 29 } // namespace core 30 } // namespace simulation_framework