1 //===-- SBBreakpointLocation.h ----------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SBBreakpointLocation_h_
11 #define LLDB_SBBreakpointLocation_h_
12 
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBBreakpoint.h"
15 
16 namespace lldb {
17 
18 class SBBreakpointLocation
19 {
20 public:
21 
22     SBBreakpointLocation ();
23 
24     SBBreakpointLocation (const lldb::SBBreakpointLocation &rhs);
25 
26     ~SBBreakpointLocation ();
27 
28     const lldb::SBBreakpointLocation &
29     operator = (const lldb::SBBreakpointLocation &rhs);
30 
31     break_id_t
32     GetID ();
33 
34     bool
35     IsValid() const;
36 
37     lldb::SBAddress
38     GetAddress ();
39 
40     lldb::addr_t
41     GetLoadAddress ();
42 
43     void
44     SetEnabled(bool enabled);
45 
46     bool
47     IsEnabled ();
48 
49     uint32_t
50     GetIgnoreCount ();
51 
52     void
53     SetIgnoreCount (uint32_t n);
54 
55     void
56     SetCondition (const char *condition);
57 
58     const char *
59     GetCondition ();
60 
61     void
62     SetThreadID (lldb::tid_t sb_thread_id);
63 
64     lldb::tid_t
65     GetThreadID ();
66 
67     void
68     SetThreadIndex (uint32_t index);
69 
70     uint32_t
71     GetThreadIndex() const;
72 
73     void
74     SetThreadName (const char *thread_name);
75 
76     const char *
77     GetThreadName () const;
78 
79     void
80     SetQueueName (const char *queue_name);
81 
82     const char *
83     GetQueueName () const;
84 
85     bool
86     IsResolved ();
87 
88     bool
89     GetDescription (lldb::SBStream &description, DescriptionLevel level);
90 
91     SBBreakpoint
92     GetBreakpoint ();
93 
94     SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
95 
96 private:
97     friend class SBBreakpoint;
98 #ifndef LLDB_DISABLE_PYTHON
99     friend class lldb_private::ScriptInterpreterPython;
100 #endif
101     void
102     SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
103 
104     lldb::BreakpointLocationSP m_opaque_sp;
105 
106 };
107 
108 } // namespace lldb
109 
110 #endif  // LLDB_SBBreakpointLocation_h_
111