1 //===-- POSIXStopInfo.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 liblldb_POSIXStopInfo_H_ 11 #define liblldb_POSIXStopInfo_H_ 12 13 #include "FreeBSDThread.h" 14 #include "Plugins/Process/POSIX/CrashReason.h" 15 #include "lldb/Target/StopInfo.h" 16 #include <string> 17 18 //===----------------------------------------------------------------------===// 19 /// @class POSIXStopInfo 20 /// Simple base class for all POSIX-specific StopInfo objects. 21 /// 22 class POSIXStopInfo : public lldb_private::StopInfo { 23 public: POSIXStopInfo(lldb_private::Thread & thread,uint32_t status)24 POSIXStopInfo(lldb_private::Thread &thread, uint32_t status) 25 : StopInfo(thread, status) {} 26 }; 27 28 //===----------------------------------------------------------------------===// 29 /// @class POSIXLimboStopInfo 30 /// Represents the stop state of a process ready to exit. 31 /// 32 class POSIXLimboStopInfo : public POSIXStopInfo { 33 public: POSIXLimboStopInfo(FreeBSDThread & thread)34 POSIXLimboStopInfo(FreeBSDThread &thread) : POSIXStopInfo(thread, 0) {} 35 36 ~POSIXLimboStopInfo(); 37 38 lldb::StopReason GetStopReason() const; 39 40 const char *GetDescription(); 41 42 bool ShouldStop(lldb_private::Event *event_ptr); 43 44 bool ShouldNotify(lldb_private::Event *event_ptr); 45 }; 46 47 //===----------------------------------------------------------------------===// 48 /// @class POSIXNewThreadStopInfo 49 /// Represents the stop state of process when a new thread is spawned. 50 /// 51 52 class POSIXNewThreadStopInfo : public POSIXStopInfo { 53 public: POSIXNewThreadStopInfo(FreeBSDThread & thread)54 POSIXNewThreadStopInfo(FreeBSDThread &thread) : POSIXStopInfo(thread, 0) {} 55 56 ~POSIXNewThreadStopInfo(); 57 58 lldb::StopReason GetStopReason() const; 59 60 const char *GetDescription(); 61 62 bool ShouldStop(lldb_private::Event *event_ptr); 63 64 bool ShouldNotify(lldb_private::Event *event_ptr); 65 }; 66 67 #endif 68