1#ifndef YAZE_SRC_CLI_HANDLERS_EMULATOR_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_EMULATOR_COMMANDS_H_
12 std::string
GetName()
const {
return "emulator-step"; }
14 return "Step emulator execution by one instruction";
17 return "emulator-step [--count <count>] [--format <json|text>]";
21 return absl::OkStatus();
30 std::string
GetName()
const {
return "emulator-run"; }
33 return "emulator-run [--until <breakpoint>] [--format <json|text>]";
37 return absl::OkStatus();
46 std::string
GetName()
const {
return "emulator-pause"; }
49 return "emulator-pause [--format <json|text>]";
53 return absl::OkStatus();
62 std::string
GetName()
const {
return "emulator-reset"; }
64 return "Reset emulator to initial state";
67 return "emulator-reset [--format <json|text>]";
71 return absl::OkStatus();
80 std::string
GetName()
const {
return "emulator-get-state"; }
83 return "emulator-get-state [--format <json|text>]";
87 return absl::OkStatus();
96 std::string
GetName()
const {
return "emulator-set-breakpoint"; }
98 return "Set a breakpoint at specified address";
101 return "emulator-set-breakpoint --address <address> [--condition "
102 "<condition>] [--format <json|text>]";
115 std::string
GetName()
const {
return "emulator-clear-breakpoint"; }
117 return "Clear a breakpoint at specified address";
120 return "emulator-clear-breakpoint --address <address> [--format "
134 std::string
GetName()
const {
return "emulator-list-breakpoints"; }
137 return "emulator-list-breakpoints [--format <json|text>]";
141 return absl::OkStatus();
150 std::string
GetName()
const {
return "emulator-read-memory"; }
153 return "emulator-read-memory --address <address> [--length <length>] "
154 "[--format <json|text>]";
167 std::string
GetName()
const {
return "emulator-write-memory"; }
170 return "emulator-write-memory --address <address> --data <data> [--format "
184 std::string
GetName()
const {
return "emulator-get-registers"; }
187 return "emulator-get-registers [--format <json|text>]";
191 return absl::OkStatus();
200 std::string
GetName()
const {
return "emulator-get-metrics"; }
202 return "Get emulator performance metrics";
205 return "emulator-get-metrics [--format <json|text>]";
209 return absl::OkStatus();
218 std::string
GetName()
const {
return "emulator-press-buttons"; }
220 return "Press and release emulator buttons";
223 return "emulator-press-buttons --buttons <button1>,<button2>,...";
234 std::string
GetName()
const {
return "emulator-release-buttons"; }
236 return "Release currently held emulator buttons";
239 return "emulator-release-buttons --buttons <button1>,<button2>,...";
250 std::string
GetName()
const {
return "emulator-hold-buttons"; }
252 return "Hold emulator buttons for a specified duration";
255 return "emulator-hold-buttons --buttons <button1>,<button2>,... --duration "
259 return parser.
RequireArgs({
"buttons",
"duration"});
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetDescription() const
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
std::string GetName() const
Get the command name.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetDescription() const
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const
Get the command usage string.
std::string GetName() const
Get the command name.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
std::string GetName() const
Get the command name.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetDescription() const
std::string GetUsage() const
Get the command usage string.
Utility for parsing common CLI argument patterns.
absl::Status RequireArgs(const std::vector< std::string > &required) const
Validate that required arguments are present.
Base class for CLI command handlers.