Refactor emulator interface

This commit is contained in:
momo5502
2025-01-08 15:59:17 +01:00
parent 8d5f561ccf
commit cad5e674e4
5 changed files with 129 additions and 112 deletions

View File

@@ -0,0 +1,22 @@
#pragma once
#include <chrono>
#include <cstdint>
#include <cstddef>
#include <vector>
struct cpu_interface
{
virtual ~cpu_interface() = default;
virtual void start(uint64_t start, uint64_t end = 0, std::chrono::nanoseconds timeout = {}, size_t count = 0) = 0;
virtual void stop() = 0;
virtual void read_raw_register(int reg, void* value, size_t size) = 0;
virtual void write_raw_register(int reg, const void* value, size_t size) = 0;
virtual std::vector<std::byte> save_registers() = 0;
virtual void restore_registers(const std::vector<std::byte>& register_data) = 0;
virtual bool has_violation() const = 0;
};