changed to FbTk EventHandler and added SignalEvent
This commit is contained in:
parent
033a6dc462
commit
0515215ca7
1 changed files with 10 additions and 11 deletions
|
@ -19,15 +19,21 @@
|
||||||
// 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.hh,v 1.2 2002/08/14 22:49:32 fluxgen Exp $
|
// $Id: SignalHandler.hh,v 1.3 2002/08/17 22:15:04 fluxgen Exp $
|
||||||
|
|
||||||
#ifndef FBTK_SIGNALHANDLER_HH
|
#ifndef FBTK_SIGNALHANDLER_HH
|
||||||
#define FBTK_SIGNALHANDLER_HH
|
#define FBTK_SIGNALHANDLER_HH
|
||||||
|
|
||||||
|
#include "EventHandler.hh"
|
||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
namespace FbTk {
|
namespace FbTk {
|
||||||
|
|
||||||
|
struct SignalEvent {
|
||||||
|
int signum;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Handles system signals, singleton.
|
Handles system signals, singleton.
|
||||||
Usage: inherit the class EventHandler and then register
|
Usage: inherit the class EventHandler and then register
|
||||||
|
@ -36,13 +42,6 @@ namespace FbTk {
|
||||||
*/
|
*/
|
||||||
class SignalHandler {
|
class SignalHandler {
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
Inherit this class to handle signals.
|
|
||||||
*/
|
|
||||||
class EventHandler {
|
|
||||||
public:
|
|
||||||
virtual void handleSignal(int signum) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
/// get singleton object
|
/// get singleton object
|
||||||
static SignalHandler *instance();
|
static SignalHandler *instance();
|
||||||
|
@ -53,7 +52,7 @@ public:
|
||||||
@param eh event handler
|
@param eh event handler
|
||||||
@param oldhandler_ret return handler to old sighandler
|
@param oldhandler_ret return handler to old sighandler
|
||||||
*/
|
*/
|
||||||
bool registerHandler(int signum, EventHandler *eh, EventHandler **oldhandler_ret = 0);
|
bool registerHandler(int signum, EventHandler<SignalEvent> *eh, EventHandler<SignalEvent> **oldhandler_ret = 0);
|
||||||
/**
|
/**
|
||||||
removes the signum handler
|
removes the signum handler
|
||||||
@param signum signal number
|
@param signum signal number
|
||||||
|
@ -64,7 +63,7 @@ private:
|
||||||
|
|
||||||
static void handleSignal(int signum);
|
static void handleSignal(int signum);
|
||||||
|
|
||||||
static EventHandler *s_signal_handler[NSIG]; ///< NSIG defined in signal.h
|
static EventHandler<SignalEvent> *s_signal_handler[NSIG]; ///< NSIG defined in signal.h
|
||||||
};
|
};
|
||||||
|
|
||||||
}; // end namespace FbTk
|
}; // end namespace FbTk
|
||||||
|
|
Loading…
Reference in a new issue