#ifndef _signal_hpp_INCLUDED
#define _signal_hpp_INCLUDED
namespace CaDiCaL {
// Helper class for handling signals in applications.
class Handler {
public:
Handler () {}
virtual ~Handler () {}
virtual void catch_signal (int sig) = 0;
#ifndef _WIN32
virtual void catch_alarm ();
#endif
};
class Signal {
public:
static void set (Handler *);
static void reset ();
#ifndef _WIN32
static void alarm (int seconds);
static void reset_alarm ();
#endif
static const char *name (int sig);
};
} // namespace CaDiCaL
#endif