SBBreakpointLocation.h revision 360784
1//===-- SBBreakpointLocation.h ----------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SBBreakpointLocation_h_
10#define LLDB_SBBreakpointLocation_h_
11
12#include "lldb/API/SBBreakpoint.h"
13#include "lldb/API/SBDefines.h"
14
15namespace lldb {
16
17class LLDB_API SBBreakpointLocation {
18public:
19  SBBreakpointLocation();
20
21  SBBreakpointLocation(const lldb::SBBreakpointLocation &rhs);
22
23  ~SBBreakpointLocation();
24
25  const lldb::SBBreakpointLocation &
26  operator=(const lldb::SBBreakpointLocation &rhs);
27
28  break_id_t GetID();
29
30  explicit operator bool() const;
31
32  bool IsValid() const;
33
34  lldb::SBAddress GetAddress();
35
36  lldb::addr_t GetLoadAddress();
37
38  void SetEnabled(bool enabled);
39
40  bool IsEnabled();
41
42  uint32_t GetHitCount();
43
44  uint32_t GetIgnoreCount();
45
46  void SetIgnoreCount(uint32_t n);
47
48  void SetCondition(const char *condition);
49
50  const char *GetCondition();
51
52  void SetAutoContinue(bool auto_continue);
53
54  bool GetAutoContinue();
55
56  void SetScriptCallbackFunction(const char *callback_function_name);
57
58  SBError SetScriptCallbackFunction(const char *callback_function_name,
59                                    lldb::SBStructuredData &extra_args);
60
61  SBError SetScriptCallbackBody(const char *script_body_text);
62
63  void SetCommandLineCommands(lldb::SBStringList &commands);
64
65  bool GetCommandLineCommands(lldb::SBStringList &commands);
66
67  void SetThreadID(lldb::tid_t sb_thread_id);
68
69  lldb::tid_t GetThreadID();
70
71  void SetThreadIndex(uint32_t index);
72
73  uint32_t GetThreadIndex() const;
74
75  void SetThreadName(const char *thread_name);
76
77  const char *GetThreadName() const;
78
79  void SetQueueName(const char *queue_name);
80
81  const char *GetQueueName() const;
82
83  bool IsResolved();
84
85  bool GetDescription(lldb::SBStream &description, DescriptionLevel level);
86
87  SBBreakpoint GetBreakpoint();
88
89  SBBreakpointLocation(const lldb::BreakpointLocationSP &break_loc_sp);
90
91private:
92  friend class SBBreakpoint;
93  friend class SBBreakpointCallbackBaton;
94
95  void SetLocation(const lldb::BreakpointLocationSP &break_loc_sp);
96  BreakpointLocationSP GetSP() const;
97
98  lldb::BreakpointLocationWP m_opaque_wp;
99};
100
101} // namespace lldb
102
103#endif // LLDB_SBBreakpointLocation_h_
104