1#ifndef YAZE_APP_EDITOR_SYSTEM_ROM_FILE_MANAGER_H_
2#define YAZE_APP_EDITOR_SYSTEM_ROM_FILE_MANAGER_H_
9#include "absl/status/status.h"
33 absl::Status
LoadRom(
Rom* rom,
const std::string& filename);
35 absl::Status
SaveRomAs(
Rom* rom,
const std::string& filename);
54 const std::string& rom_filename)
const;
55 absl::Status
PruneBackups(
const std::string& rom_filename)
const;
66 const std::string& original_filename)
const;
68 const std::string& original_filename)
const;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Handles all ROM file I/O operations.
std::string GenerateBackupFilename(const std::string &original_filename) const
void SetBackupRetentionCount(int count)
absl::Status PruneBackups(const std::string &rom_filename) const
absl::Status OpenRomOrProject(Rom *rom, const std::string &filename)
std::vector< BackupEntry > ListBackups(const std::string &rom_filename) const
absl::Status ValidateRom(Rom *rom)
RomFileManager(ToastManager *toast_manager)
std::string GetRomFilename(Rom *rom) const
void SetBackupBeforeSave(bool enabled)
void SetBackupFolder(const std::string &folder)
absl::Status CreateBackup(Rom *rom)
void SetBackupKeepDailyDays(int days)
int backup_retention_count_
absl::Status LoadRom(Rom *rom, const std::string &filename)
~RomFileManager()=default
absl::Status SaveRom(Rom *rom)
std::string backup_folder_
int backup_keep_daily_days_
ToastManager * toast_manager_
void SetBackupKeepDaily(bool enabled)
absl::Status LoadRomFromFile(Rom *rom, const std::string &filename)
bool IsValidRomFile(const std::string &filename) const
absl::Status SaveRomAs(Rom *rom, const std::string &filename)
bool IsRomLoaded(Rom *rom) const
std::filesystem::path GetBackupDirectory(const std::string &original_filename) const