aboutsummaryrefslogtreecommitdiff
path: root/src/frontend_common/data_manager.h
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-10-15 04:54:41 +0200
committercrueter <crueter@eden-emu.dev>2025-10-15 04:54:41 +0200
commit5f9dba40a0fe71ccd7014ae37a2fbfd8f225396e (patch)
tree4a0258d989bb795dd68fc2067fb01a7d7703868b /src/frontend_common/data_manager.h
parent0a54ac63f00782605b74044e1661569d931354fe (diff)
[desktop] Data Manager, data import/export (#2700)
This adds a "Data Manager" dialog to the Tools menu. The Data Manager allows for the following operations: - Open w/ system file manager - Clear - Export - Import On any of the following directories: - Save (w/ profile selector) - UserNAND - SysNAND - Mods - Shaders TODO for the future: - "Cleanup" for each directory - TitleID -> Game name--let users clean data for a specific game if applicable Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2700 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/frontend_common/data_manager.h')
-rw-r--r--src/frontend_common/data_manager.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/frontend_common/data_manager.h b/src/frontend_common/data_manager.h
new file mode 100644
index 0000000000..d67bd20467
--- /dev/null
+++ b/src/frontend_common/data_manager.h
@@ -0,0 +1,24 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#ifndef DATA_MANAGER_H
+#define DATA_MANAGER_H
+
+#include "common/common_types.h"
+#include <string>
+
+namespace FrontendCommon::DataManager {
+
+enum class DataDir { Saves, UserNand, SysNand, Mods, Shaders };
+
+const std::string GetDataDir(DataDir dir, const std::string &user_id = "");
+
+u64 ClearDir(DataDir dir, const std::string &user_id = "");
+
+const std::string ReadableBytesSize(u64 size);
+
+u64 DataDirSize(DataDir dir);
+
+}; // namespace FrontendCommon::DataManager
+
+#endif // DATA_MANAGER_H