You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
The existing GetSynchronous, GetAsynchronous, and Put functions are deprecated in favor of the DebugContext overloads. It is unlikely that a licensee has derived from FDerivedDataCacheInterface, but anyone who does will have a compile error that they override a non-virtual function and that they don't implement a pure virtual function, which will be straightforward to fix. #rb Zousar.Shaker #ROBOMERGE-OWNER: Devin.Doucette #ROBOMERGE-AUTHOR: devin.doucette #ROBOMERGE-SOURCE: CL 11210386 via CL 11210387 #ROBOMERGE-BOT: (v643-11205221) [CL 11210609 by Devin Doucette in Main branch]
55 lines
1.9 KiB
C++
55 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
/**
|
|
* Interface for data deriving backends
|
|
* This API will not be called concurrently, except that Build might be called on different instances if IsBuildThreadsafe.
|
|
**/
|
|
class FDerivedDataPluginInterface
|
|
{
|
|
public:
|
|
virtual ~FDerivedDataPluginInterface()
|
|
{
|
|
}
|
|
/**
|
|
* Get the plugin name, this is used as the first part of the cache key
|
|
* @return Name of the plugin
|
|
**/
|
|
virtual const TCHAR* GetPluginName() const = 0;
|
|
/**
|
|
* Get the version of the plugin, this is used as part of the cache key. This is supposed to
|
|
* be a guid string ( ex. "69C8C8A6-A9F8-4EFC-875C-CFBB72E66486" )
|
|
* @return Version string of the plugin
|
|
**/
|
|
virtual const TCHAR* GetVersionString() const = 0;
|
|
|
|
/**
|
|
* Returns the largest and plugin specific part of the cache key. This must be a alphanumeric+underscore
|
|
* @return Version number of the plugin, for licensees.
|
|
**/
|
|
virtual FString GetPluginSpecificCacheKeySuffix() const = 0;
|
|
/**
|
|
* Indicates that this plugin is threadsafe. Note, the system itself will not call it concurrently if this false, however, then you are responsible for not calling the system itself concurrently.
|
|
* @return true if this plugin is threadsafe
|
|
**/
|
|
virtual bool IsBuildThreadsafe() const = 0;
|
|
|
|
/** Indicated that this plugin generates deterministic data. This is used for DDC verification */
|
|
virtual bool IsDeterministic() const { return false; }
|
|
|
|
/** A string used to describe the data being generated. Typically the path to the object that it is generated from is sufficient. */
|
|
virtual FString GetDebugContextString() const { return TEXT("Unknown Context"); }
|
|
|
|
/**
|
|
* Does the work of deriving the data.
|
|
* @param OutData Array of bytes to fill in with the result data
|
|
* @return true if successful, in the event of failure the cache is not updated and failure is propagated to the original caller.
|
|
**/
|
|
virtual bool Build(TArray<uint8>& OutData) = 0;
|
|
};
|
|
|
|
|