Files
UnrealEngineUWP/Engine/Source/Developer/SourceControl/Public/SourceControlInitSettings.h
bryan sefcik de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00

35 lines
992 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Map.h"
#include "Containers/StringFwd.h"
#include "Containers/UnrealString.h"
class FString;
class SOURCECONTROL_API FSourceControlInitSettings
{
public:
enum class EBehavior
{
/** All existing settings will be overridden via the contents of FSourceControlInitSettings. Settings that are not found will be reset to default states */
OverrideAll,
/** Only the settings found in FSourceControlInitSettings will be overriden. Settings not found will be left with their current values. */
OverrideExisting,
};
FSourceControlInitSettings(EBehavior Behavior);
~FSourceControlInitSettings() = default;
void AddSetting(FStringView SettingName, FStringView SettingValue);
void OverrideSetting(FStringView SettingName, FString& InOutSettingValue);
bool HasOverrides() const;
bool IsOverridden(FStringView SettingName) const;
private:
EBehavior Behavior;
TMap<FString, FString> Settings;
};