Leosac
0.8.0
Open Source Access Control
signalhandler.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2014-2016 Leosac
3
4
This file is part of Leosac.
5
6
Leosac is free software: you can redistribute it and/or modify
7
it under the terms of the GNU Affero General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
Leosac is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Affero General Public License for more details.
15
16
You should have received a copy of the GNU Affero General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
26
#ifndef SIGNALHANDLER_HPP
27
#define SIGNALHANDLER_HPP
28
29
#include <functional>
30
31
extern
"C"
{
32
#include <signal.h>
33
}
34
35
namespace
Leosac
36
{
37
namespace
Tools
38
{
39
enum class
Signal
: int
40
{
41
SigHup
= SIGHUP,
42
SigInt
= SIGINT,
43
SigQuit
= SIGQUIT,
44
SigKill
= SIGKILL,
45
SigSegv
= SIGSEGV,
46
SigPipe
= SIGPIPE,
47
SigTerm
= SIGTERM,
48
SigUsr1
= SIGUSR1,
49
SigUsr2
= SIGUSR2,
50
SigStop
= SIGSTOP
51
};
52
53
static
constexpr
int
num_signals = _NSIG;
54
55
class
SignalHandler
56
{
57
SignalHandler
() =
delete
;
58
59
public
:
60
static
void
registerCallback
(
Signal
signal,
61
std::function<
void
(
Signal
)> callback);
62
};
63
}
64
}
65
66
#endif // SIGNALHANDLER_HPP
Leosac::Tools::SignalHandler::SignalHandler
SignalHandler()=delete
Leosac::Tools::Signal::SigKill
@ SigKill
Leosac::Tools::Signal::SigUsr2
@ SigUsr2
Leosac::Tools::Signal::SigPipe
@ SigPipe
Leosac::Tools::SignalHandler::registerCallback
static void registerCallback(Signal signal, std::function< void(Signal)> callback)
Definition:
signalhandler.cpp:48
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition:
APIStatusCode.hpp:22
Leosac::Tools::Signal::SigStop
@ SigStop
Leosac::Tools::Signal::SigHup
@ SigHup
Leosac::Tools::Signal::SigInt
@ SigInt
Leosac::Tools::SignalHandler
Definition:
signalhandler.hpp:55
Leosac::Tools::Signal::SigSegv
@ SigSegv
Leosac::Tools::Signal::SigUsr1
@ SigUsr1
Leosac::Tools::Signal::SigQuit
@ SigQuit
Leosac::Tools::Signal::SigTerm
@ SigTerm
Leosac::Tools::Signal
Signal
Definition:
signalhandler.hpp:39
src
tools
signalhandler.hpp
Generated on Tue Mar 22 2022 10:48:32 for Leosac by
1.8.17