xref: /openbsd-src/gnu/llvm/lldb/bindings/interface/SBUnixSignals.i (revision 061da546b983eb767bad15e67af1174fb0bcf31c)
1*061da546Spatrick //===-- SWIG Interface for SBUnixSignals ------------------------*- C++ -*-===//
2*061da546Spatrick //
3*061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*061da546Spatrick // See https://llvm.org/LICENSE.txt for license information.
5*061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*061da546Spatrick //
7*061da546Spatrick //===----------------------------------------------------------------------===//
8*061da546Spatrick 
9*061da546Spatrick namespace lldb {
10*061da546Spatrick 
11*061da546Spatrick %feature("docstring",
12*061da546Spatrick "Allows you to manipulate LLDB's signal disposition"
13*061da546Spatrick ) SBUnixSignals;
14*061da546Spatrick class SBUnixSignals
15*061da546Spatrick {
16*061da546Spatrick public:
17*061da546Spatrick     SBUnixSignals ();
18*061da546Spatrick 
19*061da546Spatrick     SBUnixSignals (const lldb::SBUnixSignals &rhs);
20*061da546Spatrick 
21*061da546Spatrick     ~SBUnixSignals();
22*061da546Spatrick 
23*061da546Spatrick     void
24*061da546Spatrick     Clear ();
25*061da546Spatrick 
26*061da546Spatrick     bool
27*061da546Spatrick     IsValid () const;
28*061da546Spatrick 
29*061da546Spatrick     explicit operator bool() const;
30*061da546Spatrick 
31*061da546Spatrick     const char *
32*061da546Spatrick     GetSignalAsCString (int32_t signo) const;
33*061da546Spatrick 
34*061da546Spatrick     int32_t
35*061da546Spatrick     GetSignalNumberFromName (const char *name) const;
36*061da546Spatrick 
37*061da546Spatrick     bool
38*061da546Spatrick     GetShouldSuppress (int32_t signo) const;
39*061da546Spatrick 
40*061da546Spatrick     bool
41*061da546Spatrick     SetShouldSuppress (int32_t signo,
42*061da546Spatrick                        bool value);
43*061da546Spatrick 
44*061da546Spatrick     bool
45*061da546Spatrick     GetShouldStop (int32_t signo) const;
46*061da546Spatrick 
47*061da546Spatrick     bool
48*061da546Spatrick     SetShouldStop (int32_t signo,
49*061da546Spatrick                    bool value);
50*061da546Spatrick 
51*061da546Spatrick     bool
52*061da546Spatrick     GetShouldNotify (int32_t signo) const;
53*061da546Spatrick 
54*061da546Spatrick     bool
55*061da546Spatrick     SetShouldNotify (int32_t signo, bool value);
56*061da546Spatrick 
57*061da546Spatrick     int32_t
58*061da546Spatrick     GetNumSignals () const;
59*061da546Spatrick 
60*061da546Spatrick     int32_t
61*061da546Spatrick     GetSignalAtIndex (int32_t index) const;
62*061da546Spatrick 
63*061da546Spatrick #ifdef SWIGPYTHON
64*061da546Spatrick     %pythoncode %{
65*061da546Spatrick         def get_unix_signals_list(self):
66*061da546Spatrick             signals = []
67*061da546Spatrick             for idx in range(0, self.GetNumSignals()):
68*061da546Spatrick                 signals.append(self.GetSignalAtIndex(sig))
69*061da546Spatrick             return signals
70*061da546Spatrick 
71*061da546Spatrick         threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''')
72*061da546Spatrick     %}
73*061da546Spatrick #endif
74*061da546Spatrick };
75*061da546Spatrick 
76*061da546Spatrick }  // namespace lldb
77