diff options
Diffstat (limited to 'dev/DebuggerKit/DebuggerContract.h')
| -rw-r--r-- | dev/DebuggerKit/DebuggerContract.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/dev/DebuggerKit/DebuggerContract.h b/dev/DebuggerKit/DebuggerContract.h deleted file mode 100644 index 2114041..0000000 --- a/dev/DebuggerKit/DebuggerContract.h +++ /dev/null @@ -1,52 +0,0 @@ -/* ======================================== - - Copyright (C) 2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license. - -======================================== */ - -#pragma once - -#include <DebuggerKit/Platform.h> - -#define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::DebuggerContract - -namespace DebuggerKit { -class DebuggerContract; - -/// =========================================================== /// -/// \brief Process ID -/// =========================================================== /// -typedef uint64_t ProcessID; - -/// =========================================================== /// -/// \brief Address type, a la BSD. -/// =========================================================== /// -typedef char* CAddress; - -/// =========================================================== /// -/// \brief Debugger contract class in C++, as per the design states. -/// \author Amlal El Mahrouss -/// =========================================================== /// -class DebuggerContract { - public: - explicit DebuggerContract() = default; - virtual ~DebuggerContract() = default; - - public: - DebuggerContract& operator=(const DebuggerContract&) = default; - DebuggerContract(const DebuggerContract&) = default; - - public: - virtual bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept = 0; - virtual bool BreakAt(std::string symbol) noexcept = 0; - virtual bool Break() noexcept = 0; - virtual bool Continue() noexcept = 0; - virtual bool Detach() noexcept = 0; - - virtual std::unordered_map<uintptr_t, uintptr_t>& Get() { return m_breakpoints; } - - protected: - ProcessID m_pid{(ProcessID)~0}; - std::unordered_map<uintptr_t, uintptr_t> m_breakpoints; -}; -} // namespace DebuggerKit |
