LLDB  mainline
SBUnixSignals.h
Go to the documentation of this file.
1 //===-- SBUnixSignals.h -----------------------------------------------*- C++
2 //-*-===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SBUnixSignals_h_
11 #define LLDB_SBUnixSignals_h_
12 
13 #include "lldb/API/SBDefines.h"
14 
15 namespace lldb {
16 
18 public:
19  SBUnixSignals();
20 
22 
23  ~SBUnixSignals();
24 
25  const SBUnixSignals &operator=(const lldb::SBUnixSignals &rhs);
26 
27  void Clear();
28 
29  explicit operator bool() const;
30 
31  bool IsValid() const;
32 
33  const char *GetSignalAsCString(int32_t signo) const;
34 
35  int32_t GetSignalNumberFromName(const char *name) const;
36 
37  bool GetShouldSuppress(int32_t signo) const;
38 
39  bool SetShouldSuppress(int32_t signo, bool value);
40 
41  bool GetShouldStop(int32_t signo) const;
42 
43  bool SetShouldStop(int32_t signo, bool value);
44 
45  bool GetShouldNotify(int32_t signo) const;
46 
47  bool SetShouldNotify(int32_t signo, bool value);
48 
49  int32_t GetNumSignals() const;
50 
51  int32_t GetSignalAtIndex(int32_t index) const;
52 
53 protected:
54  friend class SBProcess;
55  friend class SBPlatform;
56 
57  SBUnixSignals(lldb::ProcessSP &process_sp);
58 
59  SBUnixSignals(lldb::PlatformSP &platform_sp);
60 
61  lldb::UnixSignalsSP GetSP() const;
62 
63  void SetSP(const lldb::UnixSignalsSP &signals_sp);
64 
65 private:
66  lldb::UnixSignalsWP m_opaque_wp;
67 };
68 
69 } // namespace lldb
70 
71 #endif // LLDB_SBUnixSignals_h_
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15
class LLDB_API SBUnixSignals
Definition: SBDefines.h:94