#ifndef SERVER_H #define SERVER_H #include #include #include #include #include #include #include "IPC.h" #include "PluginInterface.h" #include "Config.h" class Server { public: Server(); ~Server(); void run(); void reloadConfig(); static Server& getInstance(); private: void loadPlugins(); void mainLoop(); void handleIPC(); static void handleSignal(int signal); std::vector threadPool; // Use std::thread directly std::vector pluginHandles; std::vector> plugins; std::unique_ptr ipc; Config config; std::atomic reloadConfigFlag; static Server* instance; }; #endif // SERVER_H