Viam C++ SDK
current
Loading...
Searching...
No Matches
src
viam
sdk
module
signal_manager.hpp
1
#pragma once
2
3
#include <signal.h>
4
5
#ifdef _WIN32
6
#include <windows.h>
7
#endif
8
9
namespace
viam {
10
namespace
sdk {
11
16
class
SignalManager
{
17
public
:
19
explicit
SignalManager
();
20
22
~SignalManager
();
23
27
int
wait
();
28
29
private
:
30
#ifdef _WIN32
31
static
BOOL WINAPI console_handler_routine_(DWORD dwCtrlType);
32
void
handle_signal_(
int
signal);
33
34
static
SignalManager
* instance_;
35
HANDLE signal_event_ = INVALID_HANDLE_VALUE;
36
int
signal_code_ = 0;
37
#else
38
sigset_t sigset_;
39
#endif
40
};
41
42
}
// namespace sdk
43
}
// namespace viam
viam::sdk::SignalManager
Defines handling logic for SIGINT and SIGTERM required by all C++ modules.
Definition
signal_manager.hpp:16
viam::sdk::SignalManager::SignalManager
SignalManager()
Creates a new SignalManager.
viam::sdk::SignalManager::wait
int wait()
Wait for SignalManager to receive SIGINT or SIGTERM.
viam::sdk::SignalManager::~SignalManager
~SignalManager()
Destructor.
Generated by
1.10.0