#ifndef EQEMU_PATH_MANAGER_H #define EQEMU_PATH_MANAGER_H #include #include class PathManager { public: void Init(); static PathManager *Instance() { static PathManager instance; return &instance; } [[nodiscard]] const std::string &GetLogPath() const; [[nodiscard]] const std::string &GetLuaModsPath() const; [[nodiscard]] const std::string &GetLuaModulesPath() const; [[nodiscard]] const std::string &GetMapsPath() const; [[nodiscard]] const std::string &GetPatchPath() const; [[nodiscard]] const std::string &GetOpcodePath() const; [[nodiscard]] const std::string &GetServerPath() const; [[nodiscard]] const std::string &GetSharedMemoryPath() const; [[nodiscard]] std::vector GetQuestPaths() const; [[nodiscard]] std::vector GetPluginPaths() const; [[nodiscard]] std::vector GetLuaModulePaths() const; private: std::string m_log_path; std::string m_lua_mods_path; std::string m_maps_path; std::string m_patch_path; std::string m_opcode_path; std::string m_quests_path; std::vector m_quests_paths; std::vector m_plugin_paths; std::vector m_lua_module_paths; private: std::string m_server_path; std::string m_shared_memory_path; }; #endif //EQEMU_PATH_MANAGER_H