changed to FbTk EventHandler with SignalEvent

This commit is contained in:
fluxgen 2002-08-17 22:15:31 +00:00
parent 0515215ca7
commit 7b6b2661c0

View file

@ -19,13 +19,13 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// $Id: SignalHandler.cc,v 1.1 2002/08/13 23:57:04 fluxgen Exp $ // $Id: SignalHandler.cc,v 1.2 2002/08/17 22:15:31 fluxgen Exp $
#include "SignalHandler.hh" #include "SignalHandler.hh"
namespace FbTk { namespace FbTk {
SignalHandler::EventHandler *SignalHandler::s_signal_handler[NSIG]; EventHandler<SignalEvent> *SignalHandler::s_signal_handler[NSIG];
SignalHandler::SignalHandler() { SignalHandler::SignalHandler() {
// clear signal list // clear signal list
@ -38,7 +38,8 @@ SignalHandler *SignalHandler::instance() {
return &singleton; return &singleton;
} }
bool SignalHandler::registerHandler(int signum, EventHandler *eh, EventHandler **oldhandler_ret) { bool SignalHandler::registerHandler(int signum, EventHandler<SignalEvent> *eh,
EventHandler<SignalEvent> **oldhandler_ret) {
// must be less than NSIG // must be less than NSIG
if (signum >= NSIG) if (signum >= NSIG)
return false; return false;
@ -68,8 +69,11 @@ void SignalHandler::removeHandler(int signum) {
void SignalHandler::handleSignal(int signum) { void SignalHandler::handleSignal(int signum) {
// make sure we got a handler for this signal // make sure we got a handler for this signal
if (s_signal_handler[signum] != 0) if (s_signal_handler[signum] != 0) {
s_signal_handler[signum]->handleSignal(signum); SignalEvent sigev;
sigev.signum = signum;
s_signal_handler[signum]->handleEvent(&sigev);
}
} }
}; };