SBBreakpointLocation.h revision 7dd5c51fbab8384b18f20ecc125f9a1bb3c9bcb2
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
16namespace lldb {
17
18class SBBreakpointLocation
19{
20public:
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    bool
32    IsValid() const;
33
34    lldb::SBAddress
35    GetAddress ();
36
37    lldb::addr_t
38    GetLoadAddress ();
39
40    void
41    SetEnabled(bool enabled);
42
43    bool
44    IsEnabled ();
45
46    uint32_t
47    GetIgnoreCount ();
48
49    void
50    SetIgnoreCount (uint32_t n);
51
52    void
53    SetCondition (const char *condition);
54
55    const char *
56    GetCondition ();
57
58    void
59    SetThreadID (lldb::tid_t sb_thread_id);
60
61    lldb::tid_t
62    GetThreadID ();
63
64    void
65    SetThreadIndex (uint32_t index);
66
67    uint32_t
68    GetThreadIndex() const;
69
70    void
71    SetThreadName (const char *thread_name);
72
73    const char *
74    GetThreadName () const;
75
76    void
77    SetQueueName (const char *queue_name);
78
79    const char *
80    GetQueueName () const;
81
82    bool
83    IsResolved ();
84
85    bool
86    GetDescription (lldb::SBStream &description, DescriptionLevel level);
87
88    SBBreakpoint
89    GetBreakpoint ();
90
91    SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
92
93private:
94    friend class SBBreakpoint;
95#ifndef LLDB_DISABLE_PYTHON
96    friend class lldb_private::ScriptInterpreterPython;
97#endif
98    void
99    SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
100
101    lldb::BreakpointLocationSP m_opaque_sp;
102
103};
104
105} // namespace lldb
106
107#endif  // LLDB_SBBreakpointLocation_h_
108