UniSet  2.6.0
SingleProcess.h
1 /*
2  * Copyright (c) 2015 Pavel Vainerman.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, version 2.1.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Lesser Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 // --------------------------------------------------------------------------
17 #ifndef SingleProcess_H_
18 #define SingleProcess_H_
19 // --------------------------------------------------------------------------
20 #include <string>
21 // --------------------------------------------------------------------------
22 namespace uniset
23 {
24  // --------------------------------------------------------------------------
30  {
31  public:
32  SingleProcess();
33  virtual ~SingleProcess();
34 
35  protected:
36  virtual void term( int signo ) {}
37 
38  static void set_signals( bool ask );
39 
40  private:
41 
42  static void terminated( int signo );
43  static void finishterm( int signo );
44 
45  };
46  // --------------------------------------------------------------------------
47 } // end of namespace uniset
48 // --------------------------------------------------------------------------
49 #endif // SingleProcess_H_
50 // --------------------------------------------------------------------------