Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:41

0001 //===-- SBBreakpointLocation.h ----------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLDB_API_SBBREAKPOINTLOCATION_H
0010 #define LLDB_API_SBBREAKPOINTLOCATION_H
0011 
0012 #include "lldb/API/SBBreakpoint.h"
0013 #include "lldb/API/SBDefines.h"
0014 
0015 namespace lldb_private {
0016 namespace python {
0017 class SWIGBridge;
0018 }
0019 namespace lua {
0020 class SWIGBridge;
0021 }
0022 } // namespace lldb_private
0023 
0024 namespace lldb {
0025 
0026 class LLDB_API SBBreakpointLocation {
0027 public:
0028   SBBreakpointLocation();
0029 
0030   SBBreakpointLocation(const lldb::SBBreakpointLocation &rhs);
0031 
0032   ~SBBreakpointLocation();
0033 
0034   const lldb::SBBreakpointLocation &
0035   operator=(const lldb::SBBreakpointLocation &rhs);
0036 
0037   break_id_t GetID();
0038 
0039   explicit operator bool() const;
0040 
0041   bool IsValid() const;
0042 
0043   lldb::SBAddress GetAddress();
0044 
0045   lldb::addr_t GetLoadAddress();
0046 
0047   void SetEnabled(bool enabled);
0048 
0049   bool IsEnabled();
0050 
0051   uint32_t GetHitCount();
0052 
0053   uint32_t GetIgnoreCount();
0054 
0055   void SetIgnoreCount(uint32_t n);
0056 
0057   void SetCondition(const char *condition);
0058 
0059   const char *GetCondition();
0060 
0061   void SetAutoContinue(bool auto_continue);
0062 
0063   bool GetAutoContinue();
0064 
0065 #ifndef SWIG
0066   void SetCallback(SBBreakpointHitCallback callback, void *baton);
0067 #endif
0068 
0069   void SetScriptCallbackFunction(const char *callback_function_name);
0070 
0071   SBError SetScriptCallbackFunction(const char *callback_function_name,
0072                                     lldb::SBStructuredData &extra_args);
0073 
0074   SBError SetScriptCallbackBody(const char *script_body_text);
0075   
0076   void SetCommandLineCommands(lldb::SBStringList &commands);
0077 
0078   bool GetCommandLineCommands(lldb::SBStringList &commands);
0079  
0080   void SetThreadID(lldb::tid_t sb_thread_id);
0081 
0082   lldb::tid_t GetThreadID();
0083 
0084   void SetThreadIndex(uint32_t index);
0085 
0086   uint32_t GetThreadIndex() const;
0087 
0088   void SetThreadName(const char *thread_name);
0089 
0090   const char *GetThreadName() const;
0091 
0092   void SetQueueName(const char *queue_name);
0093 
0094   const char *GetQueueName() const;
0095 
0096   bool IsResolved();
0097 
0098   bool GetDescription(lldb::SBStream &description, DescriptionLevel level);
0099 
0100   SBBreakpoint GetBreakpoint();
0101 
0102 protected:
0103   friend class lldb_private::python::SWIGBridge;
0104   friend class lldb_private::lua::SWIGBridge;
0105   SBBreakpointLocation(const lldb::BreakpointLocationSP &break_loc_sp);
0106 
0107 private:
0108   friend class SBBreakpoint;
0109   friend class SBBreakpointCallbackBaton;
0110 
0111   void SetLocation(const lldb::BreakpointLocationSP &break_loc_sp);
0112   BreakpointLocationSP GetSP() const;
0113 
0114   lldb::BreakpointLocationWP m_opaque_wp;
0115 };
0116 
0117 } // namespace lldb
0118 
0119 #endif // LLDB_API_SBBREAKPOINTLOCATION_H