LkEngine
0.1.2
Loading...
Searching...
No Matches
CrashHandler.h
1
/******************************************************************
2
* CrashHandler
3
*
4
*******************************************************************/
5
#pragma once
6
7
#include "
LkEngine/Core/Core.h
"
8
9
namespace
LkEngine
{
10
11
class
LCrashHandler;
12
class
LApplication;
13
19
class
ICrashHandler
20
{
21
public
:
22
virtual
~ICrashHandler
() =
default
;
23
24
protected
:
25
virtual
std::string GenerateApplicationCrashDump() = 0;
26
virtual
void
LogCrashInformation(std::string_view CrashInformation) = 0;
27
virtual
std::string CaptureBackTraceOnStack() = 0;
28
29
friend
class
LCrashHandler
;
30
};
31
35
class
LCrashHandler
36
{
37
public
:
38
static
void
AttachInstance(
LApplication
* ApplicationRef);
39
40
private
:
41
static
void
SignalHandler(
const
int
Signal);
42
43
private
:
45
inline
static
std::unique_ptr<ICrashHandler> CrashHandler =
nullptr
;
46
47
inline
static
bool
bIsShuttingDown =
false
;
48
};
49
50
}
Core.h
Core header.
LkEngine::ICrashHandler
Definition
CrashHandler.h:20
LkEngine::LApplication
Definition
Application.h:77
LkEngine::LCrashHandler
Definition
CrashHandler.h:36
LkEngine
Definition
Asset.h:11
LkEngine
Source
LkEngine
Core
CrashHandler.h
Generated by
1.12.0