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