#include <emulator_service_impl.h>


Public Types | |
| using | RomGetter = std::function<Rom*()> |
| using | RomLoader = std::function<bool(const std::string& path)> |
Public Member Functions | |
| EmulatorServiceImpl (yaze::emu::Emulator *emulator, RomGetter rom_getter=nullptr, RomLoader rom_loader=nullptr) | |
| grpc::Status | LoadRom (grpc::ServerContext *context, const agent::LoadRomRequest *request, agent::LoadRomResponse *response) override |
| grpc::Status | GetLoadedRomPath (grpc::ServerContext *context, const agent::Empty *request, agent::LoadedRomPathResponse *response) override |
| grpc::Status | ControlEmulator (grpc::ServerContext *context, const agent::ControlRequest *request, agent::CommandResponse *response) override |
| grpc::Status | StepEmulator (grpc::ServerContext *context, const agent::StepControlRequest *request, agent::StepResponse *response) override |
| grpc::Status | RunToBreakpoint (grpc::ServerContext *context, const agent::Empty *request, agent::BreakpointHitResponse *response) override |
| grpc::Status | PressButtons (grpc::ServerContext *context, const agent::ButtonRequest *request, agent::CommandResponse *response) override |
| grpc::Status | ReleaseButtons (grpc::ServerContext *context, const agent::ButtonRequest *request, agent::CommandResponse *response) override |
| grpc::Status | HoldButtons (grpc::ServerContext *context, const agent::ButtonHoldRequest *request, agent::CommandResponse *response) override |
| grpc::Status | GetGameState (grpc::ServerContext *context, const agent::GameStateRequest *request, agent::GameStateResponse *response) override |
| grpc::Status | ReadMemory (grpc::ServerContext *context, const agent::MemoryRequest *request, agent::MemoryResponse *response) override |
| grpc::Status | WriteMemory (grpc::ServerContext *context, const agent::MemoryWriteRequest *request, agent::CommandResponse *response) override |
| grpc::Status | BreakpointControl (grpc::ServerContext *context, const agent::BreakpointControlRequest *request, agent::BreakpointControlResponse *response) override |
| grpc::Status | WatchpointControl (grpc::ServerContext *context, const agent::WatchpointControlRequest *request, agent::WatchpointControlResponse *response) override |
| grpc::Status | GetDisassembly (grpc::ServerContext *context, const agent::DisassemblyRequest *request, agent::DisassemblyResponse *response) override |
| grpc::Status | GetExecutionTrace (grpc::ServerContext *context, const agent::TraceRequest *request, agent::TraceResponse *response) override |
| grpc::Status | ResolveSymbol (grpc::ServerContext *context, const agent::SymbolLookupRequest *request, agent::SymbolLookupResponse *response) override |
| grpc::Status | GetSymbolAt (grpc::ServerContext *context, const agent::AddressRequest *request, agent::SymbolLookupResponse *response) override |
| grpc::Status | LoadSymbols (grpc::ServerContext *context, const agent::SymbolFileRequest *request, agent::CommandResponse *response) override |
| grpc::Status | GetDebugStatus (grpc::ServerContext *context, const agent::Empty *request, agent::DebugStatusResponse *response) override |
| grpc::Status | TestRun (grpc::ServerContext *context, const agent::TestRunRequest *request, agent::TestRunResponse *response) override |
Private Member Functions | |
| void | InitializeStepController () |
| void | CaptureCPUState (agent::CPUState *state) |
Private Attributes | |
| yaze::emu::Emulator * | emulator_ |
| RomGetter | rom_getter_ |
| RomLoader | rom_loader_ |
| yaze::emu::debug::SymbolProvider | symbol_provider_ |
| yaze::emu::debug::StepController | step_controller_ |
Definition at line 22 of file emulator_service_impl.h.
| using yaze::net::EmulatorServiceImpl::RomGetter = std::function<Rom*()> |
Definition at line 24 of file emulator_service_impl.h.
| using yaze::net::EmulatorServiceImpl::RomLoader = std::function<bool(const std::string& path)> |
Definition at line 25 of file emulator_service_impl.h.
|
explicit |
Definition at line 82 of file emulator_service_impl.cc.
|
override |
Definition at line 89 of file emulator_service_impl.cc.
References yaze::Rom::is_loaded(), rom_getter_, rom_loader_, yaze::Rom::size(), and yaze::Rom::title().

|
override |
Definition at line 124 of file emulator_service_impl.cc.
References yaze::Rom::filename(), yaze::Rom::is_loaded(), rom_getter_, and yaze::Rom::title().

|
override |
Definition at line 163 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::EnsureInitialized(), yaze::Rom::is_loaded(), rom_getter_, yaze::emu::Emulator::set_running(), and yaze::emu::Emulator::snes().

|
override |
Definition at line 194 of file emulator_service_impl.cc.
References CaptureCPUState(), emulator_, InitializeStepController(), yaze::emu::Emulator::is_snes_initialized(), step_controller_, yaze::emu::debug::StepController::StepOut(), yaze::emu::debug::StepController::StepOver(), and yaze::emu::Emulator::StepSingleInstruction().
|
override |
Definition at line 222 of file emulator_service_impl.cc.
References yaze::emu::Emulator::breakpoint_manager(), CaptureCPUState(), yaze::emu::BreakpointManager::CPU_65816, emulator_, yaze::emu::Emulator::is_snes_initialized(), yaze::emu::Emulator::snes(), and yaze::emu::Emulator::StepSingleInstruction().
|
override |
Definition at line 258 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::PressButton().

|
override |
Definition at line 274 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::ReleaseButton().

|
override |
Definition at line 286 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::PressButton().

|
override |
Definition at line 302 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

|
override |
Definition at line 341 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().
Referenced by yaze::cli::agent::RomDebugAgent::AnalyzeMemory(), yaze::cli::agent::RomDebugAgent::ComparePatch(), yaze::cli::agent::RomDebugAgent::HasStackImbalance(), and yaze::cli::agent::RomDebugAgent::ScanForIssues().

|
override |
Definition at line 358 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

|
override |
Definition at line 375 of file emulator_service_impl.cc.
References yaze::emu::BreakpointManager::AddBreakpoint(), yaze::emu::Emulator::breakpoint_manager(), and emulator_.

|
override |
Definition at line 410 of file emulator_service_impl.cc.
|
override |
Definition at line 418 of file emulator_service_impl.cc.
References yaze::emu::debug::Disassembler65816::Disassemble(), emulator_, yaze::emu::Emulator::is_snes_initialized(), yaze::emu::debug::DisassembledInstruction::size, and yaze::emu::Emulator::snes().
Referenced by yaze::cli::agent::RomDebugAgent::AnalyzeBreakpoint(), and yaze::cli::agent::RomDebugAgent::GetDisassemblyContext().

|
override |
Definition at line 439 of file emulator_service_impl.cc.
Referenced by yaze::cli::agent::RomDebugAgent::BuildCallStack().
|
override |
Definition at line 445 of file emulator_service_impl.cc.
References yaze::emu::debug::SymbolProvider::FindSymbol(), and symbol_provider_.

|
override |
Definition at line 457 of file emulator_service_impl.cc.
References yaze::emu::debug::SymbolProvider::GetSymbol(), and symbol_provider_.

|
override |
Definition at line 469 of file emulator_service_impl.cc.
References yaze::emu::debug::SymbolProvider::LoadSymbolFile(), and symbol_provider_.

|
override |
Definition at line 480 of file emulator_service_impl.cc.
References yaze::emu::Emulator::breakpoint_manager(), CaptureCPUState(), emulator_, yaze::emu::BreakpointManager::GetAllBreakpoints(), and yaze::emu::Emulator::running().

|
override |
Definition at line 490 of file emulator_service_impl.cc.
References CaptureCPUState(), emulator_, yaze::emu::Emulator::is_snes_initialized(), yaze::emu::Emulator::RunFrameOnly(), yaze::emu::Emulator::running(), yaze::emu::Emulator::set_running(), and yaze::emu::Emulator::snes().
|
private |
Definition at line 519 of file emulator_service_impl.cc.
References emulator_, yaze::emu::debug::StepController::SetMemoryReader(), yaze::emu::debug::StepController::SetPcGetter(), yaze::emu::debug::StepController::SetSingleStepper(), yaze::emu::Emulator::snes(), step_controller_, and yaze::emu::Emulator::StepSingleInstruction().
Referenced by StepEmulator().
|
private |
Definition at line 143 of file emulator_service_impl.cc.
References emulator_, yaze::emu::Emulator::GetCurrentCycle(), and yaze::emu::Emulator::snes().
Referenced by GetDebugStatus(), RunToBreakpoint(), StepEmulator(), and TestRun().

|
private |
Definition at line 110 of file emulator_service_impl.h.
Referenced by BreakpointControl(), CaptureCPUState(), ControlEmulator(), GetDebugStatus(), GetDisassembly(), GetGameState(), HoldButtons(), InitializeStepController(), PressButtons(), ReadMemory(), ReleaseButtons(), RunToBreakpoint(), StepEmulator(), TestRun(), and WriteMemory().
|
private |
Definition at line 111 of file emulator_service_impl.h.
Referenced by ControlEmulator(), GetLoadedRomPath(), and LoadRom().
|
private |
Definition at line 112 of file emulator_service_impl.h.
Referenced by LoadRom().
|
private |
Definition at line 113 of file emulator_service_impl.h.
Referenced by GetSymbolAt(), LoadSymbols(), and ResolveSymbol().
|
private |
Definition at line 115 of file emulator_service_impl.h.
Referenced by InitializeStepController(), and StepEmulator().