yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
rom_file_manager.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_SYSTEM_ROM_FILE_MANAGER_H_
2#define YAZE_APP_EDITOR_SYSTEM_ROM_FILE_MANAGER_H_
3
4#include <string>
5
6#include "absl/status/status.h"
7#include "app/rom.h"
8
9namespace yaze {
10namespace editor {
11
12class ToastManager;
13
25 public:
26 explicit RomFileManager(ToastManager* toast_manager);
27 ~RomFileManager() = default;
28
29 // ROM file operations
30 absl::Status LoadRom(Rom* rom, const std::string& filename);
31 absl::Status SaveRom(Rom* rom);
32 absl::Status SaveRomAs(Rom* rom, const std::string& filename);
33 absl::Status OpenRomOrProject(Rom* rom, const std::string& filename);
34 absl::Status CreateBackup(Rom* rom);
35 absl::Status ValidateRom(Rom* rom);
36
37 // Utility helpers
38 bool IsRomLoaded(Rom* rom) const;
39 std::string GetRomFilename(Rom* rom) const;
40
41 private:
43
44 absl::Status LoadRomFromFile(Rom* rom, const std::string& filename);
45 std::string GenerateBackupFilename(const std::string& original_filename) const;
46 bool IsValidRomFile(const std::string& filename) const;
47};
48
49} // namespace editor
50} // namespace yaze
51
52#endif // YAZE_APP_EDITOR_SYSTEM_ROM_FILE_MANAGER_H_
The Rom class is used to load, save, and modify Rom data.
Definition rom.h:74
Handles all ROM file I/O operations.
std::string GenerateBackupFilename(const std::string &original_filename) const
absl::Status OpenRomOrProject(Rom *rom, const std::string &filename)
absl::Status ValidateRom(Rom *rom)
std::string GetRomFilename(Rom *rom) const
absl::Status CreateBackup(Rom *rom)
absl::Status LoadRom(Rom *rom, const std::string &filename)
absl::Status SaveRom(Rom *rom)
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
Main namespace for the application.
Definition controller.cc:20