Files
UnrealEngineUWP/Engine/Source/Developer/TraceServices/Private/ModuleServicePrivate.h
Chris Gagnon 0a9f86357f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6837840 by Chris Gagnon in Dev-Editor branch]
2019-06-04 15:16:30 -04:00

35 lines
823 B
C++

// Copyright 1998-2019 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 Trace
{
class IAnalysisSession;
class FModuleService
: public IModuleService
{
public:
FModuleService();
virtual void GetAvailableModules(TArray<FModuleInfo>& OutModules) override;
virtual void SetModuleEnabled(const FName& ModuleName, bool bEnabled) override;
void OnAnalysisBegin(IAnalysisSession& Session, TArray<IAnalyzer*>& OutAnalyzers);
bool GetModuleLoggers(const FName& ModuleName, TArray<const TCHAR*>& OutLoggers);
private:
void Initialize();
mutable FCriticalSection CriticalSection;
bool bIsInitialized = false;
TSet<IModule*> EnabledModules;
TMap<FName, IModule*> ModulesMap;
};
}