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 Member Functions

void InitializeStepController ()
 

Private Attributes

yaze::emu::Emulatoremulator_
 
yaze::emu::debug::SymbolProvider symbol_provider_
 
yaze::emu::debug::StepController step_controller_
 

Detailed Description

Definition at line 18 of file emulator_service_impl.h.

Constructor & Destructor Documentation

◆ EmulatorServiceImpl()

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

Definition at line 56 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 61 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 73 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 85 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 97 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 109 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 123 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 143 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 158 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 181 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

◆ WriteMemory()

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

Definition at line 241 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 345 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 384 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 402 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 410 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 417 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 424 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

◆ StepOut()

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

◆ GetDisassembly()

grpc::Status yaze::agent::EmulatorServiceImpl::GetDisassembly ( grpc::ServerContext * context,
const DisassemblyRequest * request,
DisassemblyResponse * response )
override

◆ 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 712 of file emulator_service_impl.cc.

Referenced by yaze::cli::agent::RomDebugAgent::BuildCallStack().

◆ LoadSymbols()

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

◆ ResolveSymbol()

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

◆ GetSymbolAt()

grpc::Status yaze::agent::EmulatorServiceImpl::GetSymbolAt ( grpc::ServerContext * context,
const AddressRequest * request,
SymbolLookupResponse * response )
override

Definition at line 810 of file emulator_service_impl.cc.

References yaze::emu::debug::SymbolProvider::GetNearestSymbol(), yaze::emu::debug::SymbolProvider::GetSymbol(), and symbol_provider_.

Here is the call graph for this function:

◆ CreateDebugSession()

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

Definition at line 848 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

◆ InitializeStepController()

Member Data Documentation

◆ emulator_

◆ symbol_provider_

yaze::emu::debug::SymbolProvider yaze::agent::EmulatorServiceImpl::symbol_provider_
private

Definition at line 129 of file emulator_service_impl.h.

Referenced by GetSymbolAt(), LoadSymbols(), and ResolveSymbol().

◆ step_controller_

yaze::emu::debug::StepController yaze::agent::EmulatorServiceImpl::step_controller_
private

Definition at line 130 of file emulator_service_impl.h.

Referenced by InitializeStepController(), StepOut(), and StepOver().


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