yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::agent::EmulatorServiceImpl Class Referencefinal

#include <emulator_service_impl.h>

Inheritance diagram for yaze::agent::EmulatorServiceImpl:
Collaboration diagram for yaze::agent::EmulatorServiceImpl:

Public Member Functions

 EmulatorServiceImpl (yaze::emu::Emulator *emulator)
 
grpc::Status Start (grpc::ServerContext *context, const Empty *request, CommandResponse *response) override
 
grpc::Status Stop (grpc::ServerContext *context, const Empty *request, CommandResponse *response) override
 
grpc::Status Pause (grpc::ServerContext *context, const Empty *request, CommandResponse *response) override
 
grpc::Status Resume (grpc::ServerContext *context, const Empty *request, CommandResponse *response) override
 
grpc::Status Reset (grpc::ServerContext *context, const Empty *request, CommandResponse *response) override
 
grpc::Status PressButtons (grpc::ServerContext *context, const ButtonRequest *request, CommandResponse *response) override
 
grpc::Status ReleaseButtons (grpc::ServerContext *context, const ButtonRequest *request, CommandResponse *response) override
 
grpc::Status HoldButtons (grpc::ServerContext *context, const ButtonHoldRequest *request, CommandResponse *response) override
 
grpc::Status GetGameState (grpc::ServerContext *context, const GameStateRequest *request, GameStateResponse *response) override
 
grpc::Status ReadMemory (grpc::ServerContext *context, const MemoryRequest *request, MemoryResponse *response) override
 
grpc::Status WriteMemory (grpc::ServerContext *context, const MemoryWriteRequest *request, CommandResponse *response) override
 
grpc::Status AddBreakpoint (grpc::ServerContext *context, const BreakpointRequest *request, BreakpointResponse *response) override
 
grpc::Status RemoveBreakpoint (grpc::ServerContext *context, const BreakpointIdRequest *request, CommandResponse *response) override
 
grpc::Status ListBreakpoints (grpc::ServerContext *context, const Empty *request, BreakpointListResponse *response) override
 
grpc::Status SetBreakpointEnabled (grpc::ServerContext *context, const BreakpointStateRequest *request, CommandResponse *response) override
 
grpc::Status AddWatchpoint (grpc::ServerContext *context, const WatchpointRequest *request, WatchpointResponse *response) override
 
grpc::Status RemoveWatchpoint (grpc::ServerContext *context, const WatchpointIdRequest *request, CommandResponse *response) override
 
grpc::Status ListWatchpoints (grpc::ServerContext *context, const Empty *request, WatchpointListResponse *response) override
 
grpc::Status GetWatchpointHistory (grpc::ServerContext *context, const WatchpointHistoryRequest *request, WatchpointHistoryResponse *response) override
 
grpc::Status StepInstruction (grpc::ServerContext *context, const Empty *request, StepResponse *response) override
 
grpc::Status RunToBreakpoint (grpc::ServerContext *context, const Empty *request, BreakpointHitResponse *response) override
 
grpc::Status StepOver (grpc::ServerContext *context, const Empty *request, StepResponse *response) override
 
grpc::Status StepOut (grpc::ServerContext *context, const Empty *request, StepResponse *response) override
 
grpc::Status GetDisassembly (grpc::ServerContext *context, const DisassemblyRequest *request, DisassemblyResponse *response) override
 
grpc::Status GetExecutionTrace (grpc::ServerContext *context, const TraceRequest *request, TraceResponse *response) override
 
grpc::Status LoadSymbols (grpc::ServerContext *context, const SymbolFileRequest *request, CommandResponse *response) override
 
grpc::Status ResolveSymbol (grpc::ServerContext *context, const SymbolLookupRequest *request, SymbolLookupResponse *response) override
 
grpc::Status GetSymbolAt (grpc::ServerContext *context, const AddressRequest *request, SymbolLookupResponse *response) override
 
grpc::Status CreateDebugSession (grpc::ServerContext *context, const DebugSessionRequest *request, DebugSessionResponse *response) override
 
grpc::Status GetDebugStatus (grpc::ServerContext *context, const Empty *request, DebugStatusResponse *response) override
 

Private Attributes

yaze::emu::Emulatoremulator_
 

Detailed Description

Definition at line 13 of file emulator_service_impl.h.

Constructor & Destructor Documentation

◆ EmulatorServiceImpl()

yaze::agent::EmulatorServiceImpl::EmulatorServiceImpl ( yaze::emu::Emulator emulator)
explicit

Definition at line 38 of file emulator_service_impl.cc.

Member Function Documentation

◆ Start()

grpc::Status yaze::agent::EmulatorServiceImpl::Start ( grpc::ServerContext *  context,
const Empty *  request,
CommandResponse *  response 
)
override

Definition at line 43 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::set_running().

Here is the call graph for this function:

◆ Stop()

grpc::Status yaze::agent::EmulatorServiceImpl::Stop ( grpc::ServerContext *  context,
const Empty *  request,
CommandResponse *  response 
)
override

Definition at line 51 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::set_running().

Here is the call graph for this function:

◆ Pause()

grpc::Status yaze::agent::EmulatorServiceImpl::Pause ( grpc::ServerContext *  context,
const Empty *  request,
CommandResponse *  response 
)
override

Definition at line 59 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::set_running().

Here is the call graph for this function:

◆ Resume()

grpc::Status yaze::agent::EmulatorServiceImpl::Resume ( grpc::ServerContext *  context,
const Empty *  request,
CommandResponse *  response 
)
override

Definition at line 67 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::set_running().

Here is the call graph for this function:

◆ Reset()

grpc::Status yaze::agent::EmulatorServiceImpl::Reset ( grpc::ServerContext *  context,
const Empty *  request,
CommandResponse *  response 
)
override

Definition at line 75 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::snes().

Here is the call graph for this function:

◆ PressButtons()

grpc::Status yaze::agent::EmulatorServiceImpl::PressButtons ( grpc::ServerContext *  context,
const ButtonRequest *  request,
CommandResponse *  response 
)
override

Definition at line 85 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::PressButton().

Here is the call graph for this function:

◆ ReleaseButtons()

grpc::Status yaze::agent::EmulatorServiceImpl::ReleaseButtons ( grpc::ServerContext *  context,
const ButtonRequest *  request,
CommandResponse *  response 
)
override

Definition at line 99 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::ReleaseButton().

Here is the call graph for this function:

◆ HoldButtons()

grpc::Status yaze::agent::EmulatorServiceImpl::HoldButtons ( grpc::ServerContext *  context,
const ButtonHoldRequest *  request,
CommandResponse *  response 
)
override

Definition at line 109 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::input_manager(), and yaze::emu::input::InputManager::PressButton().

Here is the call graph for this function:

◆ GetGameState()

grpc::Status yaze::agent::EmulatorServiceImpl::GetGameState ( grpc::ServerContext *  context,
const GameStateRequest *  request,
GameStateResponse *  response 
)
override

Definition at line 125 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

Here is the call graph for this function:

◆ ReadMemory()

grpc::Status yaze::agent::EmulatorServiceImpl::ReadMemory ( grpc::ServerContext *  context,
const MemoryRequest *  request,
MemoryResponse *  response 
)
override

Definition at line 165 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

Here is the call graph for this function:

◆ WriteMemory()

grpc::Status yaze::agent::EmulatorServiceImpl::WriteMemory ( grpc::ServerContext *  context,
const MemoryWriteRequest *  request,
CommandResponse *  response 
)
override

Definition at line 179 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

Here is the call graph for this function:

◆ AddBreakpoint()

grpc::Status yaze::agent::EmulatorServiceImpl::AddBreakpoint ( grpc::ServerContext *  context,
const BreakpointRequest *  request,
BreakpointResponse *  response 
)
override

◆ RemoveBreakpoint()

grpc::Status yaze::agent::EmulatorServiceImpl::RemoveBreakpoint ( grpc::ServerContext *  context,
const BreakpointIdRequest *  request,
CommandResponse *  response 
)
override

Definition at line 263 of file emulator_service_impl.cc.

References yaze::emu::Emulator::breakpoint_manager(), emulator_, and yaze::emu::BreakpointManager::RemoveBreakpoint().

Here is the call graph for this function:

◆ ListBreakpoints()

grpc::Status yaze::agent::EmulatorServiceImpl::ListBreakpoints ( grpc::ServerContext *  context,
const Empty *  request,
BreakpointListResponse *  response 
)
override

◆ SetBreakpointEnabled()

grpc::Status yaze::agent::EmulatorServiceImpl::SetBreakpointEnabled ( grpc::ServerContext *  context,
const BreakpointStateRequest *  request,
CommandResponse *  response 
)
override

Definition at line 299 of file emulator_service_impl.cc.

References yaze::emu::Emulator::breakpoint_manager(), emulator_, and yaze::emu::BreakpointManager::SetEnabled().

Here is the call graph for this function:

◆ AddWatchpoint()

grpc::Status yaze::agent::EmulatorServiceImpl::AddWatchpoint ( grpc::ServerContext *  context,
const WatchpointRequest *  request,
WatchpointResponse *  response 
)
override
Todo:
Integrate WatchpointManager into Emulator class

Definition at line 315 of file emulator_service_impl.cc.

◆ RemoveWatchpoint()

grpc::Status yaze::agent::EmulatorServiceImpl::RemoveWatchpoint ( grpc::ServerContext *  context,
const WatchpointIdRequest *  request,
CommandResponse *  response 
)
override

Definition at line 323 of file emulator_service_impl.cc.

◆ ListWatchpoints()

grpc::Status yaze::agent::EmulatorServiceImpl::ListWatchpoints ( grpc::ServerContext *  context,
const Empty *  request,
WatchpointListResponse *  response 
)
override

Definition at line 330 of file emulator_service_impl.cc.

◆ GetWatchpointHistory()

grpc::Status yaze::agent::EmulatorServiceImpl::GetWatchpointHistory ( grpc::ServerContext *  context,
const WatchpointHistoryRequest *  request,
WatchpointHistoryResponse *  response 
)
override

Definition at line 337 of file emulator_service_impl.cc.

◆ StepInstruction()

grpc::Status yaze::agent::EmulatorServiceImpl::StepInstruction ( grpc::ServerContext *  context,
const Empty *  request,
StepResponse *  response 
)
override

◆ RunToBreakpoint()

grpc::Status yaze::agent::EmulatorServiceImpl::RunToBreakpoint ( grpc::ServerContext *  context,
const Empty *  request,
BreakpointHitResponse *  response 
)
override

◆ StepOver()

grpc::Status yaze::agent::EmulatorServiceImpl::StepOver ( grpc::ServerContext *  context,
const Empty *  request,
StepResponse *  response 
)
override
Todo:
Implement step-over (step, but skip over JSR/JSL calls)

Definition at line 445 of file emulator_service_impl.cc.

◆ StepOut()

grpc::Status yaze::agent::EmulatorServiceImpl::StepOut ( grpc::ServerContext *  context,
const Empty *  request,
StepResponse *  response 
)
override
Todo:
Implement step-out (run until RTS/RTL)

Definition at line 453 of file emulator_service_impl.cc.

◆ GetDisassembly()

grpc::Status yaze::agent::EmulatorServiceImpl::GetDisassembly ( grpc::ServerContext *  context,
const DisassemblyRequest *  request,
DisassemblyResponse *  response 
)
override
Todo:
Enhance DisassemblyViewer with GetInstructionsInRange() method
Todo:
Use proper 65816 disassembler to get instruction details

Definition at line 462 of file emulator_service_impl.cc.

References emulator_, yaze::emu::Emulator::is_snes_initialized(), and yaze::emu::Emulator::snes().

Here is the call graph for this function:

◆ GetExecutionTrace()

grpc::Status yaze::agent::EmulatorServiceImpl::GetExecutionTrace ( grpc::ServerContext *  context,
const TraceRequest *  request,
TraceResponse *  response 
)
override
Todo:
Implement execution trace (requires trace buffer in CPU)

Definition at line 506 of file emulator_service_impl.cc.

◆ LoadSymbols()

grpc::Status yaze::agent::EmulatorServiceImpl::LoadSymbols ( grpc::ServerContext *  context,
const SymbolFileRequest *  request,
CommandResponse *  response 
)
override
Todo:
Implement symbol file loading

Definition at line 515 of file emulator_service_impl.cc.

◆ ResolveSymbol()

grpc::Status yaze::agent::EmulatorServiceImpl::ResolveSymbol ( grpc::ServerContext *  context,
const SymbolLookupRequest *  request,
SymbolLookupResponse *  response 
)
override
Todo:
Implement symbol resolution

Definition at line 523 of file emulator_service_impl.cc.

◆ GetSymbolAt()

grpc::Status yaze::agent::EmulatorServiceImpl::GetSymbolAt ( grpc::ServerContext *  context,
const AddressRequest *  request,
SymbolLookupResponse *  response 
)
override
Todo:
Implement reverse symbol lookup

Definition at line 531 of file emulator_service_impl.cc.

◆ CreateDebugSession()

grpc::Status yaze::agent::EmulatorServiceImpl::CreateDebugSession ( grpc::ServerContext *  context,
const DebugSessionRequest *  request,
DebugSessionResponse *  response 
)
override

Definition at line 540 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::Emulator::set_debugging().

Here is the call graph for this function:

◆ GetDebugStatus()

grpc::Status yaze::agent::EmulatorServiceImpl::GetDebugStatus ( grpc::ServerContext *  context,
const Empty *  request,
DebugStatusResponse *  response 
)
override

Member Data Documentation

◆ emulator_


The documentation for this class was generated from the following files: