xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/Console/ConsoleClose.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // ConsoleClose.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_CONSOLE_CLOSE_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_CONSOLE_CLOSE_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker namespace NConsoleClose {
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker // class CCtrlBreakException {};
9*f6dc9357SAndroid Build Coastguard Worker 
10*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE
11*f6dc9357SAndroid Build Coastguard Worker 
TestBreakSignal()12*f6dc9357SAndroid Build Coastguard Worker inline bool TestBreakSignal() { return false; }
13*f6dc9357SAndroid Build Coastguard Worker struct CCtrlHandlerSetter {};
14*f6dc9357SAndroid Build Coastguard Worker 
15*f6dc9357SAndroid Build Coastguard Worker #else
16*f6dc9357SAndroid Build Coastguard Worker 
17*f6dc9357SAndroid Build Coastguard Worker extern unsigned g_BreakCounter;
18*f6dc9357SAndroid Build Coastguard Worker 
19*f6dc9357SAndroid Build Coastguard Worker inline bool TestBreakSignal()
20*f6dc9357SAndroid Build Coastguard Worker {
21*f6dc9357SAndroid Build Coastguard Worker   return (g_BreakCounter != 0);
22*f6dc9357SAndroid Build Coastguard Worker }
23*f6dc9357SAndroid Build Coastguard Worker 
24*f6dc9357SAndroid Build Coastguard Worker class CCtrlHandlerSetter Z7_final
25*f6dc9357SAndroid Build Coastguard Worker {
26*f6dc9357SAndroid Build Coastguard Worker   #ifndef _WIN32
27*f6dc9357SAndroid Build Coastguard Worker   void (*memo_sig_int)(int);
28*f6dc9357SAndroid Build Coastguard Worker   void (*memo_sig_term)(int);
29*f6dc9357SAndroid Build Coastguard Worker   #endif
30*f6dc9357SAndroid Build Coastguard Worker public:
31*f6dc9357SAndroid Build Coastguard Worker   CCtrlHandlerSetter();
32*f6dc9357SAndroid Build Coastguard Worker   ~CCtrlHandlerSetter();
33*f6dc9357SAndroid Build Coastguard Worker };
34*f6dc9357SAndroid Build Coastguard Worker 
35*f6dc9357SAndroid Build Coastguard Worker #endif
36*f6dc9357SAndroid Build Coastguard Worker 
37*f6dc9357SAndroid Build Coastguard Worker }
38*f6dc9357SAndroid Build Coastguard Worker 
39*f6dc9357SAndroid Build Coastguard Worker #endif
40