Files
UnrealEngineUWP/Engine/Source/Runtime/Projects/Internal/ICoreUObjectPluginManager.h
nick verigakis d2ed7b31a3 New batch APIs to optimize UEFN project close times by deferring and batching:
- Calls to OnPluginUnload (one GC call for all plugins)
- Calls to FCollectionManager::HandleObjectDeleted (one UpdateCaches call at the end)

#rb Dave.Belanger, Francis.Hurteau
[FYI] Rex.Hill
#rnx

[CL 36757086 by nick verigakis in 5.5 branch]
2024-10-01 19:26:41 -04:00

25 lines
679 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "HAL/Platform.h"
class IPlugin;
namespace UE::PluginManager::Private
{
/// @brief Interface to get around dependency problems between Projects and CoreUObject
/// interface allows CoreUObject to run login in PluginManager that Projects can't run
class ICoreUObjectPluginManager
{
public:
virtual void OnPluginUnload(IPlugin& Plugin) = 0;
/**
* API for deferring calls to CollectGarbage (and leak detection).
*/
virtual void SuppressPluginUnloadGC() = 0;
virtual void ResumePluginUnloadGC() = 0;
};
PROJECTS_API void SetCoreUObjectPluginManager(ICoreUObjectPluginManager& Handler);
}