diff options
Diffstat (limited to 'src/common/fs/path_util.cpp')
-rw-r--r-- | src/common/fs/path_util.cpp | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/src/common/fs/path_util.cpp b/src/common/fs/path_util.cpp index 4f69db6f5..9745870f0 100644 --- a/src/common/fs/path_util.cpp +++ b/src/common/fs/path_util.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2025 citron Homebrew Project // SPDX-License-Identifier: GPL-2.0-or-later #include <algorithm> @@ -56,10 +56,10 @@ namespace fs = std::filesystem; /** * The PathManagerImpl is a singleton allowing to manage the mapping of - * YuzuPath enums to real filesystem paths. - * This class provides 2 functions: GetYuzuPathImpl and SetYuzuPathImpl. - * These are used by GetYuzuPath and SetYuzuPath respectively to get or modify - * the path mapped by the YuzuPath enum. + * CitronPath enums to real filesystem paths. + * This class provides 2 functions: GetCitronPathImpl and SetCitronPathImpl. + * These are used by GetCitronPath and SetCitronPath respectively to get or modify + * the path mapped by the CitronPath enum. */ class PathManagerImpl { public: @@ -75,62 +75,62 @@ public: PathManagerImpl(PathManagerImpl&&) = delete; PathManagerImpl& operator=(PathManagerImpl&&) = delete; - [[nodiscard]] const fs::path& GetYuzuPathImpl(YuzuPath yuzu_path) { - return yuzu_paths.at(yuzu_path); + [[nodiscard]] const fs::path& GetCitronPathImpl(CitronPath citron_path) { + return citron_paths.at(citron_path); } - void SetYuzuPathImpl(YuzuPath yuzu_path, const fs::path& new_path) { - yuzu_paths.insert_or_assign(yuzu_path, new_path); + void SetCitronPathImpl(CitronPath citron_path, const fs::path& new_path) { + citron_paths.insert_or_assign(citron_path, new_path); } - void Reinitialize(fs::path yuzu_path = {}) { - fs::path yuzu_path_cache; - fs::path yuzu_path_config; + void Reinitialize(fs::path citron_path = {}) { + fs::path citron_path_cache; + fs::path citron_path_config; #ifdef _WIN32 -#ifdef YUZU_ENABLE_PORTABLE - yuzu_path = GetExeDirectory() / PORTABLE_DIR; +#ifdef CITRON_ENABLE_PORTABLE + citron_path = GetExeDirectory() / PORTABLE_DIR; #endif - if (!IsDir(yuzu_path)) { - yuzu_path = GetAppDataRoamingDirectory() / YUZU_DIR; + if (!IsDir(citron_path)) { + citron_path = GetAppDataRoamingDirectory() / CITRON_DIR; } - yuzu_path_cache = yuzu_path / CACHE_DIR; - yuzu_path_config = yuzu_path / CONFIG_DIR; + citron_path_cache = citron_path / CACHE_DIR; + citron_path_config = citron_path / CONFIG_DIR; #elif ANDROID - ASSERT(!yuzu_path.empty()); - yuzu_path_cache = yuzu_path / CACHE_DIR; - yuzu_path_config = yuzu_path / CONFIG_DIR; + ASSERT(!citron_path.empty()); + citron_path_cache = citron_path / CACHE_DIR; + citron_path_config = citron_path / CONFIG_DIR; #else -#ifdef YUZU_ENABLE_PORTABLE - yuzu_path = GetCurrentDir() / PORTABLE_DIR; +#ifdef CITRON_ENABLE_PORTABLE + citron_path = GetCurrentDir() / PORTABLE_DIR; #endif - if (Exists(yuzu_path) && IsDir(yuzu_path)) { - yuzu_path_cache = yuzu_path / CACHE_DIR; - yuzu_path_config = yuzu_path / CONFIG_DIR; + if (Exists(citron_path) && IsDir(citron_path)) { + citron_path_cache = citron_path / CACHE_DIR; + citron_path_config = citron_path / CONFIG_DIR; } else { - yuzu_path = GetDataDirectory("XDG_DATA_HOME") / YUZU_DIR; - yuzu_path_cache = GetDataDirectory("XDG_CACHE_HOME") / YUZU_DIR; - yuzu_path_config = GetDataDirectory("XDG_CONFIG_HOME") / YUZU_DIR; + citron_path = GetDataDirectory("XDG_DATA_HOME") / CITRON_DIR; + citron_path_cache = GetDataDirectory("XDG_CACHE_HOME") / CITRON_DIR; + citron_path_config = GetDataDirectory("XDG_CONFIG_HOME") / CITRON_DIR; } #endif - GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); - GenerateYuzuPath(YuzuPath::AmiiboDir, yuzu_path / AMIIBO_DIR); - GenerateYuzuPath(YuzuPath::CacheDir, yuzu_path_cache); - GenerateYuzuPath(YuzuPath::ConfigDir, yuzu_path_config); - GenerateYuzuPath(YuzuPath::CrashDumpsDir, yuzu_path / CRASH_DUMPS_DIR); - GenerateYuzuPath(YuzuPath::DumpDir, yuzu_path / DUMP_DIR); - GenerateYuzuPath(YuzuPath::KeysDir, yuzu_path / KEYS_DIR); - GenerateYuzuPath(YuzuPath::LoadDir, yuzu_path / LOAD_DIR); - GenerateYuzuPath(YuzuPath::LogDir, yuzu_path / LOG_DIR); - GenerateYuzuPath(YuzuPath::NANDDir, yuzu_path / NAND_DIR); - GenerateYuzuPath(YuzuPath::PlayTimeDir, yuzu_path / PLAY_TIME_DIR); - GenerateYuzuPath(YuzuPath::ScreenshotsDir, yuzu_path / SCREENSHOTS_DIR); - GenerateYuzuPath(YuzuPath::SDMCDir, yuzu_path / SDMC_DIR); - GenerateYuzuPath(YuzuPath::ShaderDir, yuzu_path / SHADER_DIR); - GenerateYuzuPath(YuzuPath::TASDir, yuzu_path / TAS_DIR); - GenerateYuzuPath(YuzuPath::IconsDir, yuzu_path / ICONS_DIR); + GenerateCitronPath(CitronPath::CitronDir, citron_path); + GenerateCitronPath(CitronPath::AmiiboDir, citron_path / AMIIBO_DIR); + GenerateCitronPath(CitronPath::CacheDir, citron_path_cache); + GenerateCitronPath(CitronPath::ConfigDir, citron_path_config); + GenerateCitronPath(CitronPath::CrashDumpsDir, citron_path / CRASH_DUMPS_DIR); + GenerateCitronPath(CitronPath::DumpDir, citron_path / DUMP_DIR); + GenerateCitronPath(CitronPath::KeysDir, citron_path / KEYS_DIR); + GenerateCitronPath(CitronPath::LoadDir, citron_path / LOAD_DIR); + GenerateCitronPath(CitronPath::LogDir, citron_path / LOG_DIR); + GenerateCitronPath(CitronPath::NANDDir, citron_path / NAND_DIR); + GenerateCitronPath(CitronPath::PlayTimeDir, citron_path / PLAY_TIME_DIR); + GenerateCitronPath(CitronPath::ScreenshotsDir, citron_path / SCREENSHOTS_DIR); + GenerateCitronPath(CitronPath::SDMCDir, citron_path / SDMC_DIR); + GenerateCitronPath(CitronPath::ShaderDir, citron_path / SHADER_DIR); + GenerateCitronPath(CitronPath::TASDir, citron_path / TAS_DIR); + GenerateCitronPath(CitronPath::IconsDir, citron_path / ICONS_DIR); } private: @@ -140,13 +140,13 @@ private: ~PathManagerImpl() = default; - void GenerateYuzuPath(YuzuPath yuzu_path, const fs::path& new_path) { + void GenerateCitronPath(CitronPath citron_path, const fs::path& new_path) { void(FS::CreateDir(new_path)); - SetYuzuPathImpl(yuzu_path, new_path); + SetCitronPathImpl(citron_path, new_path); } - std::unordered_map<YuzuPath, fs::path> yuzu_paths; + std::unordered_map<CitronPath, fs::path> citron_paths; }; bool ValidatePath(const fs::path& path) { @@ -230,22 +230,22 @@ void SetAppDirectory(const std::string& app_directory) { PathManagerImpl::GetInstance().Reinitialize(app_directory); } -const fs::path& GetYuzuPath(YuzuPath yuzu_path) { - return PathManagerImpl::GetInstance().GetYuzuPathImpl(yuzu_path); +const fs::path& GetCitronPath(CitronPath citron_path) { + return PathManagerImpl::GetInstance().GetCitronPathImpl(citron_path); } -std::string GetYuzuPathString(YuzuPath yuzu_path) { - return PathToUTF8String(GetYuzuPath(yuzu_path)); +std::string GetCitronPathString(CitronPath citron_path) { + return PathToUTF8String(GetCitronPath(citron_path)); } -void SetYuzuPath(YuzuPath yuzu_path, const fs::path& new_path) { +void SetCitronPath(CitronPath citron_path, const fs::path& new_path) { if (!FS::IsDir(new_path)) { LOG_ERROR(Common_Filesystem, "Filesystem object at new_path={} is not a directory", PathToUTF8String(new_path)); return; } - PathManagerImpl::GetInstance().SetYuzuPathImpl(yuzu_path, new_path); + PathManagerImpl::GetInstance().SetCitronPathImpl(citron_path, new_path); } #ifdef _WIN32 |