Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/Analysis/MetasoundFrontendAnalyzerRegistry.h
charlie huguenard 7b12ccaeae [Metasound] Get history of output changes instead of last value
#preflight 64513fbb4d593c0b42b03cc8
#rb phil.popp

[CL 25320519 by charlie huguenard in ue5-main branch]
2023-05-03 13:43:51 -04:00

37 lines
1023 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/NameTypes.h"
#include "Templates/UniquePtr.h"
namespace Metasound
{
// Forward Declarations
class FDataReferenceCollection;
namespace Frontend
{
// Forward Declarations
class IVertexAnalyzerFactory;
class METASOUNDFRONTEND_API IVertexAnalyzerRegistry
{
public:
virtual ~IVertexAnalyzerRegistry() = default;
static IVertexAnalyzerRegistry& Get();
virtual const IVertexAnalyzerFactory* FindAnalyzerFactory(FName InAnalyzerName) const = 0;
virtual void RegisterAnalyzerFactory(FName AnalyzerName, TUniquePtr<IVertexAnalyzerFactory>&& Factory) = 0;
};
} // namespace Frontend
} // namespace Metasound
#define METASOUND_REGISTER_VERTEX_ANALYZER_FACTORY(ANALYZER_CLASS) \
{ \
Frontend::IVertexAnalyzerRegistry& AnalyzerRegistry = Frontend::IVertexAnalyzerRegistry::Get(); \
AnalyzerRegistry.RegisterAnalyzerFactory( \
ANALYZER_CLASS::GetAnalyzerName(), \
MakeUnique<ANALYZER_CLASS::FFactory>()); \
}