//=========================================================================
// Summary  : 
// Filename : SignalTable.cc
// Author   : Marsh
// Project  : 
// Revision : 1
// Created  : 2001/01/8
// Modified : 2000/08/21
//=========================================================================
// Description :
//=========================================================================

#include <stdlib.h>

#include "SignalTable.h"

//===============================================================
template<class T> SignalTable<T>::SignalTable()
{

     for( int i = 0; i <= _SIGMAX; i++ ) 
	  callbackTable[ i ] = NULL;
     _lastSignal = -1;
}

template<class T> SignalTable<T>::~SignalTable()
{

}

//===============================================================
template<class T> void SignalTable<T>::addCallback( int signo,
			       T newCallback )
{ 
     callbackTable[signo] = newCallback; 
     signal( signo, SignalTable<T>::signalHandler );
     return 0;
}

//===============================================================
template<class T> void SignalTable<T>::signalHandler( int signo )
{
     _lastSignal = signo;
}
