34 lines
878 B
C++
34 lines
878 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Processor.h"
|
|
#include "Trace/Analysis.h"
|
|
|
|
namespace UE {
|
|
namespace Trace {
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
void FAnalysisContext::AddAnalyzer(IAnalyzer& Analyzer)
|
|
{
|
|
Analyzers.Add(&Analyzer);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
void FAnalysisContext::SetMessageDelegate(FMessageDelegate Delegate)
|
|
{
|
|
OnMessage = Delegate;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
FAnalysisProcessor FAnalysisContext::Process(IInDataStream& DataStream)
|
|
{
|
|
FAnalysisProcessor Processor;
|
|
if (Analyzers.Num() > 0)
|
|
{
|
|
Processor.Impl = new FAnalysisProcessor::FImpl(DataStream, MoveTemp(Analyzers), MoveTemp(OnMessage));
|
|
}
|
|
return MoveTemp(Processor);
|
|
}
|
|
|
|
} // namespace Trace
|
|
} // namespace UE
|