]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBUnixSignals.h
Update lldb to upstream trunk r242221.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / include / lldb / API / SBUnixSignals.h
1 //===-- SBUnixSignals.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 LLDB_SBUnixSignals_h_
11 #define LLDB_SBUnixSignals_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 namespace lldb {
16
17 class LLDB_API SBUnixSignals {
18 public:
19     SBUnixSignals ();
20
21     SBUnixSignals (const lldb::SBUnixSignals &rhs);
22
23     ~SBUnixSignals();
24
25     const SBUnixSignals &
26     operator =(const lldb::SBUnixSignals &rhs);
27
28     void
29     Clear ();
30
31     bool
32     IsValid () const;
33
34     const char *
35     GetSignalAsCString (int32_t signo) const;
36
37     int32_t
38     GetSignalNumberFromName (const char *name) const;
39
40     bool
41     GetShouldSuppress (int32_t signo) const;
42
43     bool
44     SetShouldSuppress (int32_t signo,
45                        bool value);
46
47     bool
48     GetShouldStop (int32_t signo) const;
49
50     bool
51     SetShouldStop (int32_t signo,
52                    bool value);
53
54     bool
55     GetShouldNotify (int32_t signo) const;
56
57     bool
58     SetShouldNotify (int32_t signo, bool value);
59
60     int32_t
61     GetNumSignals () const;
62
63     int32_t
64     GetSignalAtIndex (int32_t index) const;
65
66 protected:
67     friend class SBProcess;
68     friend class SBPlatform;
69
70     SBUnixSignals(lldb::ProcessSP &process_sp);
71
72     SBUnixSignals(lldb::PlatformSP &platform_sp);
73
74     lldb::UnixSignalsSP
75     GetSP() const;
76
77     void
78     SetSP(const lldb::UnixSignalsSP &signals_sp);
79
80 private:
81     lldb::UnixSignalsWP m_opaque_wp;
82 };
83
84
85 } // namespace lldb
86
87 #endif // LLDB_SBUnixSignals_h_