//===-- SBUnixSignals.h -----------------------------------------------*- C++ //-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #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_