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 (emu::IEmulator *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
 
grpc::Status SaveState (grpc::ServerContext *context, const agent::SaveStateRequest *request, agent::SaveStateResponse *response) override
 
grpc::Status LoadState (grpc::ServerContext *context, const agent::LoadStateRequest *request, agent::LoadStateResponse *response) override
 
grpc::Status ListStates (grpc::ServerContext *context, const agent::ListStatesRequest *request, agent::ListStatesResponse *response) override
 

Private Attributes

emu::IEmulatoremulator_
 
RomGetter rom_getter_
 
RomLoader rom_loader_
 
emu::debug::SymbolProvider symbol_provider_
 

Detailed Description

Definition at line 24 of file emulator_service_impl.h.

Member Typedef Documentation

◆ RomGetter

Definition at line 26 of file emulator_service_impl.h.

◆ RomLoader

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

Definition at line 27 of file emulator_service_impl.h.

Constructor & Destructor Documentation

◆ EmulatorServiceImpl()

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

Definition at line 46 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 53 of file emulator_service_impl.cc.

References emulator_, yaze::Rom::is_loaded(), yaze::emu::IEmulator::LoadRom(), rom_getter_, 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 80 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::IEmulator::GetLoadedRomPath().

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

Definition at line 161 of file emulator_service_impl.cc.

References emulator_, and yaze::emu::IEmulator::RunToBreakpoint().

Here is the call graph for this function:

◆ PressButtons()

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

Definition at line 177 of file emulator_service_impl.cc.

References emulator_, yaze::emu::kUnspecified, yaze::emu::IEmulator::PressButton(), and yaze::emu::IEmulator::ReleaseButton().

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

References emulator_, yaze::emu::kUnspecified, and yaze::emu::IEmulator::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 235 of file emulator_service_impl.cc.

References emulator_, yaze::emu::kUnspecified, yaze::emu::IEmulator::PressButton(), and yaze::emu::IEmulator::ReleaseButton().

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

References emulator_, yaze::emu::IEmulator::GetGameState(), and yaze::emu::IEmulator::ReadBlock().

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

References emulator_, and yaze::emu::IEmulator::WriteBlock().

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

◆ WatchpointControl()

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

Definition at line 382 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 439 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 451 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 463 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

Definition at line 476 of file emulator_service_impl.cc.

References emulator_, yaze::emu::IEmulator::GetCpuState(), yaze::emu::IEmulator::IsRunning(), and yaze::emu::IEmulator::ListBreakpoints().

Here is the call graph for this function:

◆ TestRun()

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

Definition at line 494 of file emulator_service_impl.cc.

◆ SaveState()

grpc::Status yaze::net::EmulatorServiceImpl::SaveState ( grpc::ServerContext * context,
const agent::SaveStateRequest * request,
agent::SaveStateResponse * response )
override

Definition at line 503 of file emulator_service_impl.cc.

◆ LoadState()

grpc::Status yaze::net::EmulatorServiceImpl::LoadState ( grpc::ServerContext * context,
const agent::LoadStateRequest * request,
agent::LoadStateResponse * response )
override

Definition at line 510 of file emulator_service_impl.cc.

◆ ListStates()

grpc::Status yaze::net::EmulatorServiceImpl::ListStates ( grpc::ServerContext * context,
const agent::ListStatesRequest * request,
agent::ListStatesResponse * response )
override

Definition at line 517 of file emulator_service_impl.cc.

Member Data Documentation

◆ emulator_

◆ rom_getter_

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

Definition at line 120 of file emulator_service_impl.h.

Referenced by LoadRom().

◆ rom_loader_

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

Definition at line 121 of file emulator_service_impl.h.

◆ symbol_provider_

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

Definition at line 122 of file emulator_service_impl.h.

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


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