1370b324cSopenharmony_ci// ConsoleClose.h 2370b324cSopenharmony_ci 3370b324cSopenharmony_ci#ifndef ZIP7_INC_CONSOLE_CLOSE_H 4370b324cSopenharmony_ci#define ZIP7_INC_CONSOLE_CLOSE_H 5370b324cSopenharmony_ci 6370b324cSopenharmony_cinamespace NConsoleClose { 7370b324cSopenharmony_ci 8370b324cSopenharmony_ciclass CCtrlBreakException {}; 9370b324cSopenharmony_ci 10370b324cSopenharmony_ci#ifdef UNDER_CE 11370b324cSopenharmony_ci 12370b324cSopenharmony_ciinline bool TestBreakSignal() { return false; } 13370b324cSopenharmony_cistruct CCtrlHandlerSetter {}; 14370b324cSopenharmony_ci 15370b324cSopenharmony_ci#else 16370b324cSopenharmony_ci 17370b324cSopenharmony_ciextern unsigned g_BreakCounter; 18370b324cSopenharmony_ci 19370b324cSopenharmony_ciinline bool TestBreakSignal() 20370b324cSopenharmony_ci{ 21370b324cSopenharmony_ci return (g_BreakCounter != 0); 22370b324cSopenharmony_ci} 23370b324cSopenharmony_ci 24370b324cSopenharmony_ciclass CCtrlHandlerSetter Z7_final 25370b324cSopenharmony_ci{ 26370b324cSopenharmony_ci #ifndef _WIN32 27370b324cSopenharmony_ci void (*memo_sig_int)(int); 28370b324cSopenharmony_ci void (*memo_sig_term)(int); 29370b324cSopenharmony_ci #endif 30370b324cSopenharmony_cipublic: 31370b324cSopenharmony_ci CCtrlHandlerSetter(); 32370b324cSopenharmony_ci ~CCtrlHandlerSetter(); 33370b324cSopenharmony_ci}; 34370b324cSopenharmony_ci 35370b324cSopenharmony_ci#endif 36370b324cSopenharmony_ci 37370b324cSopenharmony_ci} 38370b324cSopenharmony_ci 39370b324cSopenharmony_ci#endif 40