//===-- SBUnixSignals.h -----------------------------------------------*- C++ //-*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLDB_SBUnixSignals_h_ #define LLDB_SBUnixSignals_h_ #include "lldb/API/SBDefines.h" namespace lldb { class LLDB_API SBUnixSignals { public: SBUnixSignals(); SBUnixSignals(const lldb::SBUnixSignals &rhs); ~SBUnixSignals(); const SBUnixSignals &operator=(const lldb::SBUnixSignals &rhs); void Clear(); bool IsValid() const; const char *GetSignalAsCString(int32_t signo) const; int32_t GetSignalNumberFromName(const char *name) const; bool GetShouldSuppress(int32_t signo) const; bool SetShouldSuppress(int32_t signo, bool value); bool GetShouldStop(int32_t signo) const; bool SetShouldStop(int32_t signo, bool value); bool GetShouldNotify(int32_t signo) const; bool SetShouldNotify(int32_t signo, bool value); int32_t GetNumSignals() const; int32_t GetSignalAtIndex(int32_t index) const; protected: friend class SBProcess; friend class SBPlatform; SBUnixSignals(lldb::ProcessSP &process_sp); SBUnixSignals(lldb::PlatformSP &platform_sp); lldb::UnixSignalsSP GetSP() const; void SetSP(const lldb::UnixSignalsSP &signals_sp); private: lldb::UnixSignalsWP m_opaque_wp; }; } // namespace lldb #endif // LLDB_SBUnixSignals_h_