Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/HeaderProvider.h
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

54 lines
1.1 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UnrealString.h"
class FUnrealSourceFile;
class FUHTMakefile;
enum class EHeaderProviderSourceType
{
ClassName,
FileName,
Resolved,
Invalid,
};
class FHeaderProvider
{
friend bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);
public:
FHeaderProvider(EHeaderProviderSourceType Type, const FString& Id, bool bAutoInclude = false);
FHeaderProvider()
: Type(EHeaderProviderSourceType::Invalid)
, Id(FString())
, Cache(nullptr)
, bAutoInclude(false)
{ }
FUnrealSourceFile* Resolve();
const FUnrealSourceFile* GetResolved() const;
FUnrealSourceFile* GetResolved();
FString ToString() const;
const FString& GetId() const;
EHeaderProviderSourceType GetType() const;
bool IsAutoInclude() const { return bAutoInclude; }
void SetCache(FUnrealSourceFile* InCache)
{
Cache = InCache;
}
private:
EHeaderProviderSourceType Type;
FString Id;
FUnrealSourceFile* Cache;
// Tells if this include should be auto included in generated.h file.
bool bAutoInclude;
};
bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);