summaryrefslogtreecommitdiff
path: root/src/common/fs/path_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/fs/path_util.cpp')
-rw-r--r--src/common/fs/path_util.cpp108
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