#pragma once #include #include #include #include #include #include namespace waybar::modules::hyprland { class IPC { public: IPC() { startIPC(); } void registerForIPC(const std::string&, std::function); std::string getSocket1Reply(const std::string& rq); private: void startIPC(); void parseIPC(const std::string&); std::mutex callbackMutex; std::deque>> callbacks; }; inline std::unique_ptr gIPC; inline bool modulesReady = false; };