1 //===-- NativeBreakpointList.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_NativeBreakpointList_h_
11 #define liblldb_NativeBreakpointList_h_
13 #include "lldb/lldb-private-forward.h"
14 #include "lldb/Core/Error.h"
15 #include "lldb/Host/Mutex.h"
16 // #include "lldb/Host/NativeBreakpoint.h"
21 namespace lldb_private
23 class NativeBreakpointList
26 typedef std::function<Error (lldb::addr_t addr, size_t size_hint, bool hardware, NativeBreakpointSP &breakpoint_sp)> CreateBreakpointFunc;
28 NativeBreakpointList ();
31 AddRef (lldb::addr_t addr, size_t size_hint, bool hardware, CreateBreakpointFunc create_func);
34 DecRef (lldb::addr_t addr);
37 EnableBreakpoint (lldb::addr_t addr);
40 DisableBreakpoint (lldb::addr_t addr);
43 GetBreakpoint (lldb::addr_t addr, NativeBreakpointSP &breakpoint_sp);
46 typedef std::map<lldb::addr_t, NativeBreakpointSP> BreakpointMap;
49 BreakpointMap m_breakpoints;
53 #endif // ifndef liblldb_NativeBreakpointList_h_