1 //===-- NativeBreakpoint.h --------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_NativeBreakpoint_h_
11 #define liblldb_NativeBreakpoint_h_
13 #include "lldb/lldb-types.h"
15 namespace lldb_private {
16 class NativeBreakpointList;
18 class NativeBreakpoint {
19 friend class NativeBreakpointList;
22 // The assumption is that derived breakpoints are enabled when created.
23 NativeBreakpoint(lldb::addr_t addr);
25 virtual ~NativeBreakpoint();
31 lldb::addr_t GetAddress() const { return m_addr; }
33 bool IsEnabled() const { return m_enabled; }
35 virtual bool IsSoftwareBreakpoint() const = 0;
38 const lldb::addr_t m_addr;
41 virtual Status DoEnable() = 0;
43 virtual Status DoDisable() = 0;
48 // -----------------------------------------------------------
49 // interface for NativeBreakpointList
50 // -----------------------------------------------------------
56 #endif // ifndef liblldb_NativeBreakpoint_h_