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

#include <emulator_service_impl.h>

Inheritance diagram for yaze::net::EmulatorServiceImpl:
Collaboration diagram for yaze::net::EmulatorServiceImpl:

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::Emulatoremulator_
 
RomGetter rom_getter_
 
RomLoader rom_loader_
 
yaze::emu::debug::SymbolProvider symbol_provider_
 
yaze::emu::debug::StepController step_controller_
 

Detailed Description

Definition at line 22 of file emulator_service_impl.h.

Member Typedef Documentation

◆ RomGetter

Definition at line 24 of file emulator_service_impl.h.

◆ RomLoader

using yaze::net::EmulatorServiceImpl::RomLoader = std::function<bool(const std::string& path)>

Definition at line 25 of file emulator_service_impl.h.

Constructor & Destructor Documentation

◆ EmulatorServiceImpl()

yaze::net::EmulatorServiceImpl::EmulatorServiceImpl ( yaze::emu::Emulator * emulator,
RomGetter rom_getter = nullptr,
RomLoader rom_loader = nullptr )
explicit

Definition at line 82 of file emulator_service_impl.cc.

Member Function Documentation

◆ LoadRom()

grpc::Status yaze::net::EmulatorServiceImpl::LoadRom ( grpc::ServerContext * context,
const agent::LoadRomRequest * request,
agent::LoadRomResponse * response )
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().

Here is the call graph for this function:

◆ GetLoadedRomPath()

grpc::Status yaze::net::EmulatorServiceImpl::GetLoadedRomPath ( grpc::ServerContext * context,
const agent::Empty * request,
agent::LoadedRomPathResponse * response )
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().

Here is the call graph for this function:

◆ ControlEmulator()

grpc::Status yaze::net::EmulatorServiceImpl::ControlEmulator ( grpc::ServerContext * context,
const agent::ControlRequest * request,
agent::CommandResponse * response )
override

◆ StepEmulator()

grpc::Status yaze::net::EmulatorServiceImpl::StepEmulator ( grpc::ServerContext * context,
const agent::StepControlRequest * request,
agent::StepResponse * response )
override

◆ RunToBreakpoint()

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

◆ PressButtons()

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

Definition at line 258 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::net::EmulatorServiceImpl::ReleaseButtons ( grpc::ServerContext * context,
const agent::ButtonRequest * request,
agent::CommandResponse * response )
override

Definition at line 274 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::net::EmulatorServiceImpl::HoldButtons ( grpc::ServerContext * context,
const agent::ButtonHoldRequest * request,
agent::CommandResponse * response )
override

Definition at line 286 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::net::EmulatorServiceImpl::GetGameState ( grpc::ServerContext * context,
const agent::GameStateRequest * request,
agent::GameStateResponse * response )
override

Definition at line 302 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::net::EmulatorServiceImpl::ReadMemory ( grpc::ServerContext * context,
const agent::MemoryRequest * request,
agent::MemoryResponse * response )
override

◆ WriteMemory()

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

Definition at line 358 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:

◆ BreakpointControl()

grpc::Status yaze::net::EmulatorServiceImpl::BreakpointControl ( grpc::ServerContext * context,
const agent::BreakpointControlRequest * request,
agent::BreakpointControlResponse * response )
override

Definition at line 375 of file emulator_service_impl.cc.

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

Here is the call graph for this function:

◆ WatchpointControl()

grpc::Status yaze::net::EmulatorServiceImpl::WatchpointControl ( grpc::ServerContext * context,
const agent::WatchpointControlRequest * request,
agent::WatchpointControlResponse * response )
override

Definition at line 410 of file emulator_service_impl.cc.

◆ GetDisassembly()

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

◆ GetExecutionTrace()

grpc::Status yaze::net::EmulatorServiceImpl::GetExecutionTrace ( grpc::ServerContext * context,
const agent::TraceRequest * request,
agent::TraceResponse * response )
override

◆ ResolveSymbol()

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

Definition at line 445 of file emulator_service_impl.cc.

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

Here is the call graph for this function:

◆ GetSymbolAt()

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

Definition at line 457 of file emulator_service_impl.cc.

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

Here is the call graph for this function:

◆ LoadSymbols()

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

Definition at line 469 of file emulator_service_impl.cc.

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

Here is the call graph for this function:

◆ GetDebugStatus()

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

◆ TestRun()

grpc::Status yaze::net::EmulatorServiceImpl::TestRun ( grpc::ServerContext * context,
const agent::TestRunRequest * request,
agent::TestRunResponse * response )
override

◆ InitializeStepController()

◆ CaptureCPUState()

void yaze::net::EmulatorServiceImpl::CaptureCPUState ( agent::CPUState * state)
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().

Here is the call graph for this function:

Member Data Documentation

◆ emulator_

◆ rom_getter_

RomGetter yaze::net::EmulatorServiceImpl::rom_getter_
private

Definition at line 111 of file emulator_service_impl.h.

Referenced by ControlEmulator(), GetLoadedRomPath(), and LoadRom().

◆ rom_loader_

RomLoader yaze::net::EmulatorServiceImpl::rom_loader_
private

Definition at line 112 of file emulator_service_impl.h.

Referenced by LoadRom().

◆ symbol_provider_

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

Definition at line 113 of file emulator_service_impl.h.

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

◆ step_controller_

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

Definition at line 115 of file emulator_service_impl.h.

Referenced by InitializeStepController(), and StepEmulator().


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