Files
UnrealEngine/Engine/Source/Developer/DerivedDataCache/Public/DerivedDataBuildWorkerRegistry.h
2025-05-18 13:04:45 +08:00

41 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/StringFwd.h"
#include "CoreTypes.h"
struct FGuid;
namespace UE::DerivedData { class FBuildWorker; }
namespace UE::DerivedData { class IBuildWorkerExecutor; }
namespace UE::DerivedData
{
/**
* A build worker registry maintains a collection of build workers.
*/
class IBuildWorkerRegistry
{
public:
virtual ~IBuildWorkerRegistry() = default;
/**
* Finds a build worker that can execute the function at the version.
*
* @param Function The function to find a worker for.
* @param FunctionVersion The version required for the function.
* @param BuildSystemVersion The version required for the build system.
* @param OutWorkerExecutor The executor to use to execute the worker.
* @return A build worker and executor if a compatible pair was found, or null for both.
*/
virtual FBuildWorker* FindWorker(
const FUtf8SharedString& Function,
const FGuid& FunctionVersion,
const FGuid& BuildSystemVersion,
IBuildWorkerExecutor*& OutWorkerExecutor) const = 0;
};
} // UE::DerivedData