Files
UnrealEngine/Engine/Source/Developer/CrashDebugHelper/Private/CrashDebugHelperModule.cpp
2025-05-18 13:04:45 +08:00

67 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "CrashDebugHelperModule.h"
#include "Logging/LogMacros.h"
#include "Modules/ModuleManager.h"
#include "CrashDebugHelperPrivate.h"
IMPLEMENT_MODULE(FCrashDebugHelperModule, CrashDebugHelper);
DEFINE_LOG_CATEGORY(LogCrashDebugHelper);
#if PLATFORM_WINDOWS
#include "CrashDebugHelperWindows.h"
#elif PLATFORM_LINUX
#include "Linux/CrashDebugHelperLinux.h"
#elif PLATFORM_MAC
#include "CrashDebugHelperMac.h"
#elif PLATFORM_IOS
#include "CrashDebugHelperIOS.h"
#elif PLATFORM_ANDROID
#include "Android/CrashDebugHelperAndroid.h"
#else
#error "Unknown platform"
#endif
void FCrashDebugHelperModule::StartupModule()
{
CrashDebugHelper = new FCrashDebugHelper();
if (CrashDebugHelper != nullptr)
{
CrashDebugHelper->Init();
}
}
void FCrashDebugHelperModule::ShutdownModule()
{
if (CrashDebugHelper != nullptr)
{
delete CrashDebugHelper;
CrashDebugHelper = nullptr;
}
}
ICrashDebugHelper* FCrashDebugHelperModule::Get()
{
return CrashDebugHelper;
}
ICrashDebugHelper* FCrashDebugHelperModule::GetNew()
{
if (CrashDebugHelper != nullptr)
{
delete CrashDebugHelper;
CrashDebugHelper = nullptr;
}
CrashDebugHelper = new FCrashDebugHelper();
if (CrashDebugHelper != nullptr)
{
CrashDebugHelper->Init();
}
return CrashDebugHelper;
}