2025-05-08 22:16:07 +00:00
|
|
|
// Copyright Citra Emulator Project / Azahar Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
// SPDX-FileCopyrightText: Copyright 2025 eden Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
|
|
|
|
|
|
|
class UserDataMigrator {
|
|
|
|
public:
|
|
|
|
UserDataMigrator(QMainWindow* main_window);
|
|
|
|
|
|
|
|
private:
|
|
|
|
enum class LegacyEmu {
|
|
|
|
Citron,
|
|
|
|
Sudachi,
|
|
|
|
Yuzu,
|
|
|
|
Suyu,
|
|
|
|
};
|
|
|
|
|
2025-05-10 15:40:15 +00:00
|
|
|
enum class MigrationStrategy {
|
|
|
|
Copy,
|
|
|
|
Move,
|
|
|
|
Link,
|
|
|
|
};
|
|
|
|
|
2025-05-08 22:16:07 +00:00
|
|
|
void ShowMigrationPrompt(QMainWindow* main_window);
|
|
|
|
void ShowMigrationCancelledMessage(QMainWindow* main_window);
|
2025-05-10 15:40:15 +00:00
|
|
|
void MigrateUserData(QMainWindow* main_window, const LegacyEmu selected_legacy_emu,
|
|
|
|
const bool clear_shader_cache, const MigrationStrategy strategy);
|
2025-05-08 22:16:07 +00:00
|
|
|
};
|