SBBreakpointLocation.h revision f0086c8bbbdcab57c0d3c592d00bd38dadcf929f
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
18#ifdef SWIG
19%feature("docstring",
20"Represents one unique instance (by address) of a logical breakpoint.
21
22A breakpoint location is defined by the breakpoint that produces it,
23and the address that resulted in this particular instantiation.
24Each breakpoint location has its settable options.
25
26SBBreakpoint contains SBBreakpointLocation(s). See docstring of SBBreakpoint
27for retrieval of an SBBreakpointLocation from an SBBreakpoint.
28"
29         ) SBBreakpointLocation;
30#endif
31class SBBreakpointLocation
32{
33#ifdef SWIG
34    %feature("autodoc", "1");
35#endif
36public:
37
38    SBBreakpointLocation ();
39
40    SBBreakpointLocation (const lldb::SBBreakpointLocation &rhs);
41
42    ~SBBreakpointLocation ();
43
44#ifndef SWIG
45    const lldb::SBBreakpointLocation &
46    operator = (const lldb::SBBreakpointLocation &rhs);
47#endif
48
49    bool
50    IsValid() const;
51
52    lldb::addr_t
53    GetLoadAddress ();
54
55    void
56    SetEnabled(bool enabled);
57
58    bool
59    IsEnabled ();
60
61    uint32_t
62    GetIgnoreCount ();
63
64    void
65    SetIgnoreCount (uint32_t n);
66
67    void
68    SetCondition (const char *condition);
69
70    const char *
71    GetCondition ();
72
73    void
74    SetThreadID (lldb::tid_t sb_thread_id);
75
76    lldb::tid_t
77    GetThreadID ();
78
79    void
80    SetThreadIndex (uint32_t index);
81
82    uint32_t
83    GetThreadIndex() const;
84
85    void
86    SetThreadName (const char *thread_name);
87
88    const char *
89    GetThreadName () const;
90
91    void
92    SetQueueName (const char *queue_name);
93
94    const char *
95    GetQueueName () const;
96
97    bool
98    IsResolved ();
99
100    bool
101    GetDescription (lldb::SBStream &description, DescriptionLevel level);
102
103    SBBreakpoint
104    GetBreakpoint ();
105
106#ifndef SWIG
107    SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
108#endif
109
110private:
111    friend class SBBreakpoint;
112    friend class lldb_private::ScriptInterpreterPython;
113
114    void
115    SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
116
117    lldb::BreakpointLocationSP m_opaque_sp;
118
119};
120
121} // namespace lldb
122
123#endif  // LLDB_SBBreakpointLocation_h_
124