1 //===-- Stoppoint.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_BREAKPOINT_STOPPOINT_H 10 #define LLDB_BREAKPOINT_STOPPOINT_H 11 12 #include "lldb/Utility/UserID.h" 13 #include "lldb/lldb-private.h" 14 15 namespace lldb_private { 16 17 class Stoppoint { 18 public: 19 // Constructors and Destructors 20 Stoppoint(); 21 22 virtual ~Stoppoint(); 23 24 // Methods 25 virtual void Dump(Stream *) = 0; 26 27 virtual bool IsEnabled() = 0; 28 29 virtual void SetEnabled(bool enable) = 0; 30 31 lldb::break_id_t GetID() const; 32 33 void SetID(lldb::break_id_t bid); 34 35 protected: 36 lldb::break_id_t m_bid = LLDB_INVALID_BREAK_ID; 37 38 private: 39 // For Stoppoint only 40 Stoppoint(const Stoppoint &) = delete; 41 const Stoppoint &operator=(const Stoppoint &) = delete; 42 }; 43 44 } // namespace lldb_private 45 46 #endif // LLDB_BREAKPOINT_STOPPOINT_H 47