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)>
 
using ScreenshotCapturer
 

Public Member Functions

 EmulatorServiceImpl (emu::IEmulator *emulator, RomGetter rom_getter=nullptr, RomLoader rom_loader=nullptr)
 
void SetScreenshotCapturer (ScreenshotCapturer capturer)
 
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::IEmulator * emulator_
 
RomGetter rom_getter_
 
RomLoader rom_loader_
 
ScreenshotCapturer screenshot_capturer_
 
emu::debug::SymbolProvider symbol_provider_
 

Detailed Description

Definition at line 27 of file emulator_service_impl.h.

Member Typedef Documentation

◆ RomGetter

Definition at line 29 of file emulator_service_impl.h.

◆ RomLoader

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

Definition at line 30 of file emulator_service_impl.h.

◆ ScreenshotCapturer

Initial value:
std::function<absl::StatusOr<test::ScreenshotArtifact>()>

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

Member Function Documentation

◆ SetScreenshotCapturer()

void yaze::net::EmulatorServiceImpl::SetScreenshotCapturer ( ScreenshotCapturer capturer)
inline

Definition at line 41 of file emulator_service_impl.h.

References screenshot_capturer_.

◆ LoadRom()

grpc::Status yaze::net::EmulatorServiceImpl::LoadRom ( grpc::ServerContext * context,
const agent::LoadRomRequest * request,
agent::LoadRomResponse * response )
override

Definition at line 91 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 118 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 201 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 218 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 255 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 278 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 315 of file emulator_service_impl.cc.

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

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 386 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 447 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 507 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 519 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 531 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 544 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 563 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 572 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 579 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 586 of file emulator_service_impl.cc.

Member Data Documentation

◆ emulator_

◆ rom_getter_

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

Definition at line 136 of file emulator_service_impl.h.

Referenced by LoadRom().

◆ rom_loader_

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

Definition at line 137 of file emulator_service_impl.h.

◆ screenshot_capturer_

ScreenshotCapturer yaze::net::EmulatorServiceImpl::screenshot_capturer_
private

Definition at line 138 of file emulator_service_impl.h.

Referenced by GetGameState(), and SetScreenshotCapturer().

◆ symbol_provider_

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

Definition at line 139 of file emulator_service_impl.h.

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


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