You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- TraceServices: Added IModuleService::GetAvailableModulesEx(..), IModuleService::GetEnabledModules(..) and IModule::ShouldBeEnabledByDefault(). - TraceServices: Fixed analysis to use only the enabled modules (to correctly use the state set by ShouldBeEnabledByDefault + SetModuleEnabled API). - SessionInfo: Added "!" in front of name for modules that are registered, but not enabled. - Changed FTraceServicesModule::StartupModule() to allow registration of all modules. - Changed the Memory, Tasks and LoadTimeProfiler modules to report that should be disabled by default in editor. - Fixed Insights unit tests (UE-116865). Re-enabled the LoadTimeProfiler module for unit tests even if it is disabled by default for editor. #jira UE-116865 #rb Catalin.Dragoiu [CL 16587640 by ionut matasaru in ue5-main branch]
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "TraceServices/ModuleService.h"
|
|
#include "Containers/Map.h"
|
|
#include "Containers/Set.h"
|
|
#include "Misc/ScopeLock.h"
|
|
|
|
namespace TraceServices
|
|
{
|
|
|
|
class IAnalysisSession;
|
|
|
|
class FModuleService
|
|
: public IModuleService
|
|
{
|
|
public:
|
|
FModuleService();
|
|
virtual void GetAvailableModules(TArray<FModuleInfo>& OutModules) override;
|
|
virtual void GetAvailableModulesEx(TArray<FModuleInfoEx>& OutModules) override;
|
|
virtual void GetEnabledModules(TArray<FModuleInfo>& OutModules) override;
|
|
virtual void SetModuleEnabled(const FName& ModuleName, bool bEnabled) override;
|
|
virtual void GenerateReports(const IAnalysisSession& Session, const TCHAR* CmdLine, const TCHAR* OutputDirectory) override;
|
|
void OnAnalysisBegin(IAnalysisSession& Session);
|
|
TArray<const TCHAR*> GetModuleLoggers(const FName& ModuleName);
|
|
TSet<FName> GetEnabledModulesFromCommandLine(const TCHAR* CommandLine);
|
|
|
|
private:
|
|
void Initialize();
|
|
|
|
mutable FCriticalSection CriticalSection;
|
|
bool bIsInitialized = false;
|
|
TSet<IModule*> EnabledModules;
|
|
TMap<FName, IModule*> ModulesMap;
|
|
};
|
|
|
|
} // namespace TraceServices
|