00001 // ===================================================================== 00002 // $Id: TSignalHandler.hh,v 1.2 2003/07/30 16:21:21 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-02 $ 00004 // 00005 // $Log: TSignalHandler.hh,v $ 00006 // Revision 1.2 2003/07/30 16:21:21 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TSIGNALHANDLER_HH 00011 #define __TSIGNALHANDLER_HH 00012 00013 #include "Tglobals.h" 00014 00015 class TSignalClient; 00016 00017 class TSignalHandler 00018 { 00019 00020 public: 00021 enum { MAX_SIGNAL_ENTRY = 32 }; 00022 00023 protected: 00024 static TSignalHandler* handler_list[ MAX_SIGNAL_ENTRY ]; 00025 00026 protected: 00027 Tint signal_id; 00028 TSignalClient* client; 00029 00030 protected: 00031 Tvoid signal_ucr( Tint sig ); 00032 00033 public: 00034 TSignalHandler( Tint psignalid, TSignalClient* pclient ); 00035 00036 public: 00037 Tvoid Enable(); 00038 Tvoid Disable(); 00039 Tint Wait(); 00040 00041 public: 00042 static Tvoid Initialize(); 00043 00044 protected: 00045 static Tvoid signal_handler( Tint, Tint, struct sigcontext* , Tchar* ); 00046 00047 }; 00048 00049 #endif