//===-- LinuxStopInfo.h -----------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef liblldb_LinuxStopInfo_H_ #define liblldb_LinuxStopInfo_H_ // C Includes // C++ Includes // Other libraries and framework includes // Project includes #include "lldb/Target/StopInfo.h" #include "LinuxThread.h" #include "ProcessMessage.h" //===----------------------------------------------------------------------===// /// @class LinuxStopInfo /// @brief Simple base class for all Linux-specific StopInfo objects. /// class LinuxStopInfo : public lldb_private::StopInfo { public: LinuxStopInfo(lldb_private::Thread &thread, uint32_t status) : StopInfo(thread, status) { } }; //===----------------------------------------------------------------------===// /// @class LinuxLimboStopInfo /// @brief Represents the stop state of a process ready to exit. /// class LinuxLimboStopInfo : public LinuxStopInfo { public: LinuxLimboStopInfo(LinuxThread &thread) : LinuxStopInfo(thread, 0) { } ~LinuxLimboStopInfo(); lldb::StopReason GetStopReason() const; const char * GetDescription(); bool ShouldStop(lldb_private::Event *event_ptr); bool ShouldNotify(lldb_private::Event *event_ptr); }; //===----------------------------------------------------------------------===// /// @class LinuxCrashStopInfo /// @brief Represents the stop state of process that is ready to crash. /// class LinuxCrashStopInfo : public LinuxStopInfo { public: LinuxCrashStopInfo(LinuxThread &thread, uint32_t status, ProcessMessage::CrashReason reason) : LinuxStopInfo(thread, status), m_crash_reason(reason) { } ~LinuxCrashStopInfo(); lldb::StopReason GetStopReason() const; const char * GetDescription(); ProcessMessage::CrashReason GetCrashReason() const; private: ProcessMessage::CrashReason m_crash_reason; }; #endif