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