// Copyright 2008 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include #include #include class DebugInterface { protected: virtual ~DebugInterface() {} public: virtual std::string Disassemble(unsigned int /*address*/) { return "NODEBUGGER"; } virtual std::string GetRawMemoryString(int /*memory*/, unsigned int /*address*/) { return "NODEBUGGER"; } virtual int GetInstructionSize(int /*instruction*/) { return 1; } virtual bool IsAlive() { return true; } virtual bool IsBreakpoint(unsigned int /*address*/) { return false; } virtual void SetBreakpoint(unsigned int /*address*/) {} virtual void ClearBreakpoint(unsigned int /*address*/) {} virtual void ClearAllBreakpoints() {} virtual void ToggleBreakpoint(unsigned int /*address*/) {} virtual void AddWatch(unsigned int /*address*/) {} virtual void ClearAllMemChecks() {} virtual bool IsMemCheck(unsigned int /*address*/, size_t /*size*/) { return false; } virtual void ToggleMemCheck(unsigned int /*address*/, bool /*read*/, bool /*write*/, bool /*log*/) { } virtual unsigned int ReadMemory(unsigned int /*address*/) { return 0; } virtual void WriteExtraMemory(int /*memory*/, unsigned int /*value*/, unsigned int /*address*/) {} virtual unsigned int ReadExtraMemory(int /*memory*/, unsigned int /*address*/) { return 0; } virtual unsigned int ReadInstruction(unsigned int /*address*/) { return 0; } virtual unsigned int GetPC() { return 0; } virtual void SetPC(unsigned int /*address*/) {} virtual void Step() {} virtual void RunToBreakpoint() {} virtual void InsertBLR(unsigned int /*address*/, unsigned int /*value*/) {} virtual int GetColor(unsigned int /*address*/) { return 0xFFFFFFFF; } virtual std::string GetDescription(unsigned int /*address*/) = 0; };