Files
UnrealEngineUWP/Engine/Source/Developer/DerivedDataCache/Public/DerivedDataBuild.h
Devin Doucette 0baafa125a DDC: Added the start of the new build interface UE::DerivedData::IBuild
This only includes the functionality required to create a build definition, and does not include the functionalty required to execute a build from the build definition.

#rb Zousar.Shaker
#rnx
#preflight 608cf5ef7343ea00016e58f4

[CL 16183533 by Devin Doucette in ue5-main branch]
2021-05-03 09:25:48 -04:00

44 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/StringFwd.h"
class FCbObject;
namespace UE::DerivedData { class FBuildDefinition; }
namespace UE::DerivedData { class FBuildDefinitionBuilder; }
namespace UE::DerivedData
{
/**
* Interface to the build system.
*
* This is only a preview of a portion of the interface and does not support build execution.
*/
class IBuild
{
public:
virtual ~IBuild() = default;
/**
* Create a build definition builder.
*
* @param Name The name by which to identify this definition for logging and profiling.
* @param Function The name of the build function with which to build this definition.
*/
virtual FBuildDefinitionBuilder CreateDefinition(FStringView Name, FStringView Function) = 0;
/**
* Load a build definition from compact binary.
*
* @param Name The name by which to identify this definition for logging and profiling.
* @param Definition An object saved from a build definition. Holds a reference and is cloned if not owned.
* @return A valid build definition, or a build definition with an empty key on error.
*/
virtual FBuildDefinition LoadDefinition(FStringView Name, FCbObject&& Definition) = 0;
};
} // UE::DerivedData