1 //===-- SWIG interface for SBBreakpointName.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 namespace lldb {
10 %feature("docstring",
11 "Represents a breakpoint name registered in a given SBTarget.
12 
13 Breakpoint names provide a way to act on groups of breakpoints.  When you add a
14 name to a group of breakpoints, you can then use the name in all the command
15 line lldb commands for that name.  You can also configure the SBBreakpointName
16 options and those options will be propagated to any SBBreakpoints currently
17 using that name.  Adding a name to a breakpoint will also apply any of the
18 set options to that breakpoint.
19 
20 You can also set permissions on a breakpoint name to disable listing, deleting
21 and disabling breakpoints.  That will disallow the given operation for breakpoints
22 except when the breakpoint is mentioned by ID.  So for instance deleting all the
23 breakpoints won't delete breakpoints so marked."
24 ) SBBreakpointName;
25 class LLDB_API SBBreakpointName {
26 public:
27   SBBreakpointName();
28 
29   SBBreakpointName(SBTarget &target, const char *name);
30 
31   SBBreakpointName(SBBreakpoint &bkpt, const char *name);
32 
33   SBBreakpointName(const lldb::SBBreakpointName &rhs);
34 
35   ~SBBreakpointName();
36 
37   // Tests to see if the opaque breakpoint object in this object matches the
38   // opaque breakpoint object in "rhs".
39   bool operator==(const lldb::SBBreakpointName &rhs);
40 
41   bool operator!=(const lldb::SBBreakpointName &rhs);
42 
43   explicit operator bool() const;
44 
45   bool IsValid() const;
46 
47   const char *GetName() const;
48 
49   void SetEnabled(bool enable);
50 
51   bool IsEnabled();
52 
53   void SetOneShot(bool one_shot);
54 
55   bool IsOneShot() const;
56 
57   void SetIgnoreCount(uint32_t count);
58 
59   uint32_t GetIgnoreCount() const;
60 
61   void SetCondition(const char *condition);
62 
63   const char *GetCondition();
64 
65   void SetAutoContinue(bool auto_continue);
66 
67   bool GetAutoContinue();
68 
69   void SetThreadID(lldb::tid_t sb_thread_id);
70 
71   lldb::tid_t GetThreadID();
72 
73   void SetThreadIndex(uint32_t index);
74 
75   uint32_t GetThreadIndex() const;
76 
77   void SetThreadName(const char *thread_name);
78 
79   const char *GetThreadName() const;
80 
81   void SetQueueName(const char *queue_name);
82 
83   const char *GetQueueName() const;
84 
85   void SetScriptCallbackFunction(const char *callback_function_name);
86 
87   SBError
88   SetScriptCallbackFunction (const char *callback_function_name,
89                              SBStructuredData &extra_args);
90 
91   void SetCommandLineCommands(SBStringList &commands);
92 
93   bool GetCommandLineCommands(SBStringList &commands);
94 
95   SBError SetScriptCallbackBody(const char *script_body_text);
96 
97   const char *GetHelpString() const;
98   void SetHelpString(const char *help_string);
99 
100   bool GetAllowList() const;
101   void SetAllowList(bool value);
102 
103   bool GetAllowDelete();
104   void SetAllowDelete(bool value);
105 
106   bool GetAllowDisable();
107   void SetAllowDisable(bool value);
108 
109   bool GetDescription(lldb::SBStream &description);
110 
111   STRING_EXTENSION(SBBreakpointName)
112 };
113 
114 } // namespace lldb
115 
116