2015-01-20 09:33:54 -05:00
|
|
|
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "UnrealString.h"
|
|
|
|
|
|
|
|
|
|
class FUnrealSourceFile;
|
|
|
|
|
|
2015-03-10 12:06:49 -04:00
|
|
|
enum class EHeaderProviderSourceType
|
2015-01-20 09:33:54 -05:00
|
|
|
{
|
2015-03-10 12:06:49 -04:00
|
|
|
ClassName,
|
|
|
|
|
FileName,
|
|
|
|
|
Resolved
|
|
|
|
|
};
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
class FHeaderProvider
|
|
|
|
|
{
|
|
|
|
|
friend bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);
|
|
|
|
|
public:
|
2015-03-17 09:34:18 -04:00
|
|
|
FHeaderProvider(EHeaderProviderSourceType Type, const FString& Id, bool bAutoInclude = false);
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
FUnrealSourceFile* Resolve();
|
2015-03-17 09:34:18 -04:00
|
|
|
const FUnrealSourceFile* GetResolved() const;
|
2015-01-20 09:33:54 -05:00
|
|
|
|
|
|
|
|
FString ToString() const;
|
|
|
|
|
|
|
|
|
|
const FString& GetId() const;
|
|
|
|
|
|
2015-03-10 12:06:49 -04:00
|
|
|
EHeaderProviderSourceType GetType() const;
|
|
|
|
|
|
2015-03-17 09:34:18 -04:00
|
|
|
bool IsAutoInclude() const { return bAutoInclude; }
|
|
|
|
|
|
2015-01-20 09:33:54 -05:00
|
|
|
private:
|
2015-03-10 12:06:49 -04:00
|
|
|
EHeaderProviderSourceType Type;
|
2015-01-20 09:33:54 -05:00
|
|
|
FString Id;
|
|
|
|
|
FUnrealSourceFile* Cache;
|
2015-03-17 09:34:18 -04:00
|
|
|
|
|
|
|
|
// Tells if this include should be auto included in generated.h file.
|
|
|
|
|
bool bAutoInclude;
|
2015-01-20 09:33:54 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);
|