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