UniSet  2.6.0
SingleProcess.h
00001 /*
00002  * Copyright (c) 2015 Pavel Vainerman.
00003  *
00004  * This program is free software: you can redistribute it and/or modify
00005  * it under the terms of the GNU Lesser General Public License as
00006  * published by the Free Software Foundation, version 2.1.
00007  *
00008  * This program is distributed in the hope that it will be useful, but
00009  * WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011  * Lesser General Lesser Public License for more details.
00012  *
00013  * You should have received a copy of the GNU Lesser General Public License
00014  * along with this program. If not, see <http://www.gnu.org/licenses/>.
00015  */
00016 // --------------------------------------------------------------------------
00017 #ifndef SingleProcess_H_
00018 #define SingleProcess_H_
00019 // --------------------------------------------------------------------------
00020 #include <string>
00021 // --------------------------------------------------------------------------
00022 namespace uniset
00023 {
00024 // --------------------------------------------------------------------------
00029 class SingleProcess
00030 {
00031     public:
00032         SingleProcess();
00033         virtual ~SingleProcess();
00034 
00035     protected:
00036         virtual void term( int signo ) {}
00037 
00038         static void set_signals( bool ask );
00039 
00040     private:
00041 
00042         static void terminated( int signo );
00043         static void finishterm( int signo );
00044 
00045 };
00046 // --------------------------------------------------------------------------
00047 } // end of namespace uniset
00048 // --------------------------------------------------------------------------
00049 #endif // SingleProcess_H_
00050 // --------------------------------------------------------------------------