iw4x-client/src/Components/Modules/Exception.hpp

24 lines
615 B
C++
Raw Normal View History

2016-07-31 14:46:22 -04:00
namespace Components
{
class Exception : public Component
{
public:
Exception();
2016-08-28 14:52:47 -04:00
~Exception();
2016-08-15 10:40:30 -04:00
2016-09-16 05:04:28 -04:00
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
const char* getName() { return "Exception"; };
2016-08-15 10:40:30 -04:00
#endif
static LPTOP_LEVEL_EXCEPTION_FILTER Hook();
2016-07-31 14:46:22 -04:00
private:
static LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilterStub(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
2016-10-31 07:58:42 -04:00
static __declspec(noreturn) void ErrorLongJmp(jmp_buf _Buf, int _Value);
2016-07-31 14:46:22 -04:00
2016-08-28 14:52:47 -04:00
static Utils::Hook SetFilterHook;
2016-07-31 14:46:22 -04:00
};
}