]> git.lyx.org Git - lyx.git/blob - src/support/syscontr.h
merge from the string-switch branch and ready for a prelease.
[lyx.git] / src / support / syscontr.h
1 // -*- C++ -*-
2
3 #ifdef __GNUG__
4 #pragma interface
5 #endif
6
7 #include <LString.h>
8
9
10 class Systemcalls;
11
12 ///
13 class SystemcallsSingletoncontroller{
14 public:
15         ///
16         class Startcontroller{
17         public:
18                 ///
19                 Startcontroller();
20                 ///
21                 ~Startcontroller();
22                 ///
23                 static SystemcallsSingletoncontroller *GetController();
24                 ///
25                 void ReduceRefcount() { refcount--; }
26         private:
27                 ///
28                 static SystemcallsSingletoncontroller *contr;
29                 ///
30                 static int refcount;
31         };
32         ///
33         ~SystemcallsSingletoncontroller();
34         ///
35         void AddCall(Systemcalls const &newcall);
36         ///
37         void Timer();
38         // private: // DEC cxx does not like that (JMarc)
39         ///
40         SystemcallsSingletoncontroller();
41 private:
42         ///
43         struct ControlledCalls {
44                 ///
45                 Systemcalls *call;
46                 ///
47                 ControlledCalls *next; };
48         ///
49         ControlledCalls *SysCalls;
50 };