1#ifndef YAZE_APP_EDITOR_SAFEGUARDS_H
2#define YAZE_APP_EDITOR_SAFEGUARDS_H
4#include "absl/status/status.h"
5#include "absl/strings/str_format.h"
12#define REQUIRE_ROM_LOADED(rom_ptr, operation) \
14 if (!(rom_ptr) || !(rom_ptr)->is_loaded()) { \
15 return absl::FailedPreconditionError( \
16 absl::StrFormat("%s: ROM not loaded", (operation))); \
21#define CHECK_ROM_STATE(rom_ptr, message) \
23 if (!(rom_ptr) || !(rom_ptr)->is_loaded()) { \
24 return absl::FailedPreconditionError(message); \
30 if (!rom)
return "No ROM loaded";
31 if (!rom->
is_loaded())
return "ROM failed to load";
32 return absl::StrFormat(
"ROM loaded: %s", rom->
title());
The Rom class is used to load, save, and modify Rom data.
std::string GetRomStatusMessage(const Rom *rom)
bool IsRomReadyForEditing(const Rom *rom)
Main namespace for the application.