#pragma once #include #include class DebugInterface { protected: virtual ~DebugInterface() {} public: virtual std::string Disassemble(unsigned int /*address*/) { return "NODEBUGGER"; } virtual void GetRawMemoryString(int /*memory*/, unsigned int /*address*/, char *dest, int /*max_size*/) {strcpy(dest, "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 ClearAllMemChecks() {} virtual bool IsMemCheck(unsigned int /*address*/) {return false;} virtual void ToggleMemCheck(unsigned int /*address*/){} 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 BreakNow() {} virtual void InsertBLR(unsigned int /*address*/, unsigned int /*value*/) {} virtual void ShowJitResults(unsigned int /*address*/) {}; virtual int GetColor(unsigned int /*address*/){return 0xFFFFFFFF;} virtual std::string GetDescription(unsigned int /*address*/) = 0; };