#ifndef IPC_H #define IPC_H #include #include #include #include #include #include "Command.h" #include "PluginInterface.h" class IPC { public: IPC(); void registerHandler(std::shared_ptr handler); void sendMessage(const Command& cmd); std::optional receiveMessage(); private: std::queue messageQueue; std::mutex queueMutex; std::condition_variable queueCondVar; std::vector> handlers; }; #endif // IPC_H