Base class for CLI command handlers. More...
#include <command_handler.h>
Inherited by yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::TUICommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::CodeGenToolBase, yaze::cli::agent::tools::FileSystemToolBase, yaze::cli::agent::tools::MemoryInspectorBase, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectToolBase, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::ValidationToolBase, yaze::cli::agent::tools::VisualAnalysisBase, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsListCommandHandler, and yaze::cli::handlers::ToolsPatchV3CommandHandler.

Classes | |
| struct | Descriptor |
| struct | DescriptorEntry |
Public Member Functions | |
| virtual | ~CommandHandler ()=default |
| absl::Status | Run (const std::vector< std::string > &args, Rom *rom_context, std::string *captured_output=nullptr) |
| Execute the command. | |
| virtual std::string | GetName () const =0 |
| Get the command name. | |
| virtual Descriptor | Describe () const |
| Provide metadata for TUI/help summaries. | |
| virtual std::string | GetUsage () const =0 |
| Get the command usage string. | |
| virtual bool | RequiresRom () const |
| Check if the command requires a loaded ROM. | |
| virtual bool | RequiresLabels () const |
| Check if the command requires ROM labels. | |
| virtual void | SetProjectContext (project::YazeProject *project) |
| Set the YazeProject context. Default implementation does nothing, override if tool needs project info. | |
| virtual void | SetAsarWrapper (core::AsarWrapper *asar_wrapper) |
| Set the AsarWrapper context. Default implementation does nothing, override if tool needs Asar access. | |
| virtual void | SetRomContext (Rom *rom) |
| Set the ROM context for tools that need ROM access. Default implementation stores the ROM pointer for subclass use. | |
Protected Member Functions | |
| virtual absl::Status | ValidateArgs (const ArgumentParser &parser)=0 |
| Validate command arguments. | |
| virtual absl::Status | Execute (Rom *rom, const ArgumentParser &parser, OutputFormatter &formatter)=0 |
| Execute the command business logic. | |
| virtual std::string | GetDefaultFormat () const |
| Get the default output format ("json" or "text") | |
| virtual std::string | GetOutputTitle () const |
| Get the output title for formatting. | |
Protected Attributes | |
| Rom * | rom_ = nullptr |
| project::YazeProject * | project_ = nullptr |
| core::AsarWrapper * | asar_wrapper_ = nullptr |
Base class for CLI command handlers.
Provides a consistent structure for implementing CLI commands with:
Example usage:
Definition at line 45 of file command_handler.h.
|
virtualdefault |
| absl::Status yaze::cli::resources::CommandHandler::Run | ( | const std::vector< std::string > & | args, |
| Rom * | rom_context, | ||
| std::string * | captured_output = nullptr ) |
Execute the command.
This is the main entry point that orchestrates:
Definition at line 29 of file command_handler.cc.
References ASSIGN_OR_RETURN, yaze::cli::resources::OutputFormatter::BeginObject(), yaze::cli::resources::OutputFormatter::EndObject(), yaze::cli::resources::CommandContext::EnsureLabelsLoaded(), Execute(), yaze::cli::resources::CommandContext::Config::external_rom_context, yaze::cli::resources::CommandContext::Config::format, yaze::cli::resources::OutputFormatter::FromString(), GetDefaultFormat(), yaze::cli::resources::OutputFormatter::GetOutput(), GetOutputTitle(), yaze::cli::resources::CommandContext::GetRom(), yaze::cli::resources::ArgumentParser::GetString(), GetUsage(), yaze::cli::resources::ArgumentParser::HasFlag(), yaze::cli::resources::OutputFormatter::Print(), RequiresLabels(), RequiresRom(), RETURN_IF_ERROR, yaze::cli::resources::CommandContext::Config::rom_path, yaze::cli::resources::CommandContext::Config::use_mock_rom, and ValidateArgs().
|
pure virtual |
Get the command name.
Override this to provide a unique identifier for the command. This is used for command registration and lookup.
Implemented in yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.
Referenced by Describe().
|
virtual |
Provide metadata for TUI/help summaries.
Reimplemented in yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, and yaze::cli::TestStatusCommandHandler.
Definition at line 7 of file command_handler.cc.
References yaze::cli::resources::CommandHandler::Descriptor::display_name, GetName(), yaze::cli::resources::CommandHandler::Descriptor::summary, and yaze::cli::resources::CommandHandler::Descriptor::todo_reference.

|
pure virtual |
Get the command usage string.
Implemented in yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.
Referenced by Run().
|
inlinevirtual |
Check if the command requires a loaded ROM.
Override to return false if ROM is not needed (e.g., filesystem tools).
Reimplemented in yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::RomDiffTool, and yaze::cli::agent::tools::RomChangesTool.
Definition at line 98 of file command_handler.h.
Referenced by Run().
|
inlinevirtual |
Check if the command requires ROM labels.
Override to return false if labels are not needed.
Reimplemented in yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.
Definition at line 105 of file command_handler.h.
Referenced by Run().
|
inlinevirtual |
Set the YazeProject context. Default implementation does nothing, override if tool needs project info.
Reimplemented in yaze::cli::agent::tools::ProjectGraphTool.
Definition at line 111 of file command_handler.h.
References project_.
|
inlinevirtual |
Set the AsarWrapper context. Default implementation does nothing, override if tool needs Asar access.
Reimplemented in yaze::cli::agent::tools::ProjectGraphTool.
Definition at line 117 of file command_handler.h.
References asar_wrapper_.
|
inlinevirtual |
Set the ROM context for tools that need ROM access. Default implementation stores the ROM pointer for subclass use.
Definition at line 123 of file command_handler.h.
References rom_.
|
protectedpure virtual |
Validate command arguments.
Override this to check required arguments and perform custom validation. Called before Execute().
Implemented in yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.
Referenced by Run().
|
protectedpure virtual |
Execute the command business logic.
Override this to implement command-specific functionality. The ROM is guaranteed to be loaded and labels initialized.
Implemented in yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.
Referenced by Run().
|
inlineprotectedvirtual |
Get the default output format ("json" or "text")
Reimplemented in yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, and yaze::cli::TestStatusCommandHandler.
Definition at line 146 of file command_handler.h.
Referenced by Run().
|
inlineprotectedvirtual |
Get the output title for formatting.
Reimplemented in yaze::cli::DungeonDoctorCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, and yaze::cli::TestStatusCommandHandler.
Definition at line 151 of file command_handler.h.
Referenced by Run().
|
protected |
Definition at line 153 of file command_handler.h.
Referenced by SetRomContext().
|
protected |
Definition at line 154 of file command_handler.h.
Referenced by yaze::cli::agent::tools::ProjectGraphTool::Execute(), yaze::cli::agent::tools::ProjectGraphTool::GetFileStructure(), yaze::cli::agent::tools::ProjectGraphTool::GetProjectInfo(), SetProjectContext(), and yaze::cli::agent::tools::ProjectGraphTool::SetProjectContext().
|
protected |
Definition at line 155 of file command_handler.h.
Referenced by yaze::cli::agent::tools::ProjectGraphTool::Execute(), yaze::cli::agent::tools::ProjectGraphTool::GetSymbolTable(), SetAsarWrapper(), and yaze::cli::agent::tools::ProjectGraphTool::SetAsarWrapper().