You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
54 lines
1.1 KiB
C++
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); |