10#include "Containers/Array.h"
11#include "Containers/Map.h"
12#include "Containers/Set.h"
53#define ALLOW_INI_OVERRIDE_FROM_COMMANDLINE (UE_SERVER || !(UE_BUILD_SHIPPING))
54#define CONFIG_CAN_SAVE_COMMENTS (WITH_EDITOR)
95#define ENUMERATE_KNOWN_INI_FILES(op) \
100 op(GameUserSettings) \
108#define KNOWN_INI_ENUM(IniName) IniName,
119#if UE_WITH_CONFIG_TRACKING
178 bExpandOnDemand = NeedsToExpandValue();
194 bExpandOnDemand = NeedsToExpandValue();
210 bExpandOnDemand = NeedsToExpandValue();
241 SavedValue =
MoveTemp(RHS.SavedValue);
242 SavedValueHash = RHS.SavedValueHash;
244 bExpandOnDemand = RHS.bExpandOnDemand;
245#if UE_WITH_CONFIG_TRACKING
247 ValueName = RHS.ValueName;
255 SavedValue = RHS.SavedValue;
256 SavedValueHash = RHS.SavedValueHash;
258 bExpandOnDemand = RHS.bExpandOnDemand;
259#if UE_WITH_CONFIG_TRACKING
261 ValueName = RHS.ValueName;
269 *
this = FString(RHS);
274 *
this = FString(RHS);
281 bExpandOnDemand = NeedsToExpandValue();
288#if UE_WITH_CONFIG_TRACKING
289 UE::ConfigAccessTracking::Private::OnConfigValueRead(
SectionAccess, ValueName, *
this);
291 return bExpandOnDemand ?
ExpandValue(SavedValue) : SavedValue;
297#if UE_WITH_CONFIG_TRACKING
298 UE::ConfigAccessTracking::Private::OnConfigValueRead(
SectionAccess, ValueName, *
this);
302#if UE_WITH_CONFIG_TRACKING
366#if CONFIG_CAN_SAVE_COMMENTS
373 return bExpandOnDemand ?
ExpandValue(SavedValue) : SavedValue;
396 bool bExpandOnDemand =
false;
397#if UE_WITH_CONFIG_TRACKING
415#if UE_WITH_CONFIG_TRACKING
437 template<
typename Allocator>
443 template<
typename Allocator>
446 for (
typename ElementSetType::TConstKeyIterator It(Pairs, Key); It; ++It)
469#if UE_WITH_CONFIG_TRACKING
488#if ALLOW_INI_OVERRIDE_FROM_COMMANDLINE
578#if UE_WITH_CONFIG_TRACKING
579 UE::ConfigAccessTracking::ELoadType
LoadType = UE::ConfigAccessTracking::ELoadType::Uninitialized;
593#if ALLOW_INI_OVERRIDE_FROM_COMMANDLINE
606#if UE_WITH_CONFIG_TRACKING
625 return FConfigFileMap::Find(SectionName);
631 return FConfigFileMap::Num();
637 return FConfigFileMap::IsEmpty();
646 inline bool Contains(
const FString& SectionName)
const
649 return FConfigFileMap::Contains(SectionName);
655 return FConfigFileMap::GetKeys(Keys);
661 return FConfigFileMap::GetKeys(Keys);
667 return FConfigFileMap::Remove(
InKey);
703 FConfigFileMap::Reset();
706 inline TRangedForConstIterator
begin()
const
709 return TRangedForConstIterator(Pairs.begin());
712 inline TRangedForConstIterator
end()
const
715 return TRangedForConstIterator(Pairs.end());
787 FConfigSection* FindOrAddSectionInternal(
const FString& SectionName);
792 return FConfigFileMap::Find(SectionName);
796 template<
typename FileType>
806 return ConfigSection->GetString(Key,
Value);
815 return ConfigSection->GetText(Section, Key,
Value);
824 return ConfigSection->GetInt(Key,
Value);
833 return ConfigSection->GetUInt(Key,
Value);
842 return ConfigSection->GetFloat(Key,
Value);
851 return ConfigSection->GetDouble(Key,
Value);
860 return ConfigSection->GetInt64(Key,
Value);
869 return ConfigSection->GetBool(Key,
Value);
1024#if UE_WITH_CONFIG_TRACKING
1033 void SaveSourceToBackupFile();
1158 UE_DEPRECATED(5.6,
"Use AddDynamicLayersToHierarchy that takes a FDynamicLayerInfo list")
1253 CORE_API void DisableFileOperations();
1258 CORE_API void EnableFileOperations();
1263 CORE_API bool AreFileOperationsDisabled();
1270 return bIsReadyForUse;
1276 return bGloballyRegistered;
1372 CORE_API void UnloadFile(
const FString& Filename );
1373 CORE_API void Detach(
const FString& Filename );
1378 CORE_API bool DoesSectionExist(
const TCHAR* Section,
const FString& Filename);
1383 CORE_API bool RemoveKey(
const TCHAR* Section,
const TCHAR* Key,
const FString& Filename );
1384 CORE_API bool EmptySection(
const TCHAR* Section,
const FString& Filename );
1459 const TCHAR* Section,
1461 const FString& Filename
1465 const TCHAR* Section,
1468 const FString& Filename
1472 const TCHAR* Section,
1475 const FString& Filename
1479 const TCHAR* Section,
1482 const FString& Filename
1486 const TCHAR* Section,
1489 const FString& Filename
1493 const TCHAR* Section,
1496 const FString& Filename
1500 const TCHAR* Section,
1503 const FString& Filename
1513 const TCHAR* Section,
1516 const FString& Filename
1520 const TCHAR* Section,
1523 const FString& Filename
1526 const TCHAR* Section,
1529 const FString& Filename);
1532 const TCHAR* Section,
1535 const FString& Filename
1539 const TCHAR* Section,
1542 const FString& Filename
1546 const TCHAR* Section,
1549 const FString& Filename
1555 return GetString(Section, Key,
Value, Filename);
1559 return GetText(Section, Key,
Value, Filename);
1563 return GetInt(Section, Key,
Value, Filename);
1567 return GetFloat(Section, Key,
Value, Filename);
1571 return GetBool(Section, Key,
Value, Filename);
1575 return GetArray(Section, Key,
Value, Filename);
1585 GetInt(Section,Key,
Value,Filename);
1590 float Value = DefaultValue;
1591 GetFloat(Section,Key,
Value,Filename);
1596 bool Value = DefaultValue;
1597 GetBool(Section,Key,
Value,Filename);
1603 if ( GetString(Section,Key,
Value,Filename) )
1609 return DefaultValue;
1615 if ( GetText(Section,Key,
Value,Filename) )
1621 return DefaultValue;
1627 const TCHAR* Section,
1630 const FString& Filename
1634 const TCHAR* Section,
1637 const FString& Filename
1641 const TCHAR* Section,
1644 const FString& Filename
1648 const TCHAR* Section,
1651 const FString& Filename
1655 const TCHAR* Section,
1658 const FString& Filename
1668 const TCHAR* Section,
1671 const FString& Filename
1675 const TCHAR* Section,
1678 const FString& Filename
1681 const TCHAR* Section,
1684 const FString& Filename);
1687 const TCHAR* Section,
1690 const FString& Filename
1694 const TCHAR* Section,
1697 const FString& Filename
1701 const TCHAR* Section,
1704 const FString& Filename
1728 CORE_API bool AddUniqueToSection(
const TCHAR* Section,
FName Key,
const FString&
Value,
const FString& Filename);
1736 CORE_API bool RemoveKeyFromSection(
const TCHAR* Section,
FName Key,
const FString& Filename);
1744 CORE_API bool RemoveFromSection(
const TCHAR* Section,
FName Key,
const FString&
Value,
const FString& Filename);
1754 CORE_API bool ResetKeyInSection(
const TCHAR* Section,
FName Key,
const FString& Filename);
1778 static CORE_API void InitializeConfigSystem();
1785 static CORE_API const FString& GetCustomConfigString();
1796 static CORE_API FString GetDestIniFilename(
const TCHAR* BaseIniName,
const TCHAR* PlatformName,
const TCHAR* GeneratedConfigDir);
1856 static CORE_API void LoadConsoleVariablesFromINI();
1911 CORE_API void SaveCurrentStateForBootstrap(
const TCHAR* Filename);
1970 static CORE_API void ClearOtherPlatformConfigs();
1986 static CORE_API void PreInitializePlatformPlugins();
2016 bool bAreFileOperationsDisabled;
2019 bool bIsReadyForUse;
2021 bool bGloballyRegistered;
2044 uint8 bIncludePluginNameInBranchName : 1;
2056#if ALLOW_OTHER_PLATFORM_CONFIG
2068#if UE_WITH_CONFIG_TRACKING
#define NULL
Definition oodle2base.h:134
#define UE_WITH_CONFIG_TRACKING
Definition ConfigAccessTracking.h:13
bool FillFileFromDisk(FileType *File, const FString &Filename, bool bHandleSymbolCommands)
Definition ConfigCacheIni.cpp:2090
DynamicLayerPriority
Definition ConfigCacheIni.h:1090
#define ENUMERATE_KNOWN_INI_FILES(op)
Definition ConfigCacheIni.h:95
TMap< FString, FConfigSection > FConfigFileMap
Definition ConfigCacheIni.h:496
EConfigCacheType
Definition ConfigCacheIni.h:1070
#define KNOWN_INI_ENUM(IniName)
Definition ConfigCacheIni.h:108
EKnownIniFile
Definition ConfigCacheIni.h:110
TMultiMap< FName, FConfigValue > FConfigSectionMap
Definition ConfigCacheIni.h:403
EBranchReplayMethod
Definition ConfigCacheIni.h:1078
FConfigCacheIni * GConfig
Definition CoreGlobals.cpp:54
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TSAN_ATOMIC(Type)
Definition CoreMiscDefines.h:147
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
FArchive & operator<<(FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
Definition EnvQueryTypes.cpp:489
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
FString GetConfigFilename(UObject *SourceObject)
Definition Obj.cpp:2276
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTempIfPossible(T &&Obj) noexcept
Definition UnrealTemplate.h:538
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
if(Failed) console_printf("Failed.\n")
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
Definition ConfigCacheIni.h:1100
FConfigFile CombinedStaticLayers
Definition ConfigCacheIni.h:1136
DynamicLayerList DynamicLayers
Definition ConfigCacheIni.h:1132
CORE_API void Shrink()
Definition ConfigCacheIni.cpp:3937
FName IniName
Definition ConfigCacheIni.h:1110
bool bAllowedToRemove
Definition ConfigCacheIni.h:1124
CORE_API bool MergeStaticLayersUpTo(const FString &LayerNameSubstring, FConfigFile &OutFile) const
Definition ConfigCacheIni.cpp:3865
CORE_API void ReapplyLayers()
Definition ConfigCacheIni.cpp:3840
FName Platform
Definition ConfigCacheIni.h:1115
CORE_API bool RemoveDynamicLayerFromHierarchy(const FString &Filename, FConfigModificationTracker *ModificationTracker=nullptr)
Definition ConfigCacheIni.cpp:3689
FConfigCommandStream RuntimeChanges
Definition ConfigCacheIni.h:1147
CORE_API bool AddDynamicLayerToHierarchy(const FString &Filename, FConfigModificationTracker *ModificationTracker=nullptr, TSet< FString > *GlobalConfigFileCache=nullptr, TSet< FString > *PluginConfigFileCache=nullptr)
Definition ConfigCacheIni.cpp:3408
FConfigCommandStream SavedLayer
Definition ConfigCacheIni.h:1133
CORE_API bool Delete()
Definition ConfigCacheIni.cpp:3931
CORE_API bool MergeStaticLayersUpToAndIncluding(const FString &LayerNameSubstring, FConfigFile &OutFile) const
Definition ConfigCacheIni.cpp:3879
FConfigBranch()
Definition ConfigCacheIni.cpp:3330
FConfigFile FinalCombinedLayers
Definition ConfigCacheIni.h:1139
CORE_API void RunOnEachCommandStream(TFunction< void(FConfigCommandStream &File, const FString &Name)> Func)
Definition ConfigCacheIni.cpp:3390
TMap< FString, FConfigCommandStream > StaticLayers
Definition ConfigCacheIni.h:1130
CORE_API bool AddDynamicLayersToHierarchy(const TArray< FDynamicLayerInfo > &Layers, FConfigModificationTracker *ModificationTracker=nullptr, TSet< FString > *GlobalConfigFileCache=nullptr, TSet< FString > *PluginConfigFileCache=nullptr, bool bForceFullDynamicLayerUpdate=false)
Definition ConfigCacheIni.cpp:3429
FConfigFileHierarchy Hierarchy
Definition ConfigCacheIni.h:1128
FString SourceEngineConfigDir
Definition ConfigCacheIni.h:1118
FConfigCommandStream CommandLineOverrides
Definition ConfigCacheIni.h:1141
FString SourceProjectConfigDir
Definition ConfigCacheIni.h:1119
CORE_API void SafeUnload()
Definition ConfigCacheIni.cpp:3776
bool bIsSafeUnloaded
Definition ConfigCacheIni.h:1121
friend class FConfigCacheIni
Definition ConfigCacheIni.h:1231
bool bIsHierarchical
Definition ConfigCacheIni.h:1122
CORE_API void Dump(FOutputDevice &Ar)
Definition ConfigCacheIni.cpp:3955
friend FArchive & operator<<(FArchive &Ar, FConfigBranch &ConfigBranch)
Definition ConfigCacheIni.cpp:6240
CORE_API bool AddDynamicLayerStringToHierarchy(const FString &Filename, const FString &Contents, FName Tag=NAME_None, DynamicLayerPriority Priority=DynamicLayerPriority::Unknown, FConfigModificationTracker *ModificationTracker=nullptr)
Definition ConfigCacheIni.cpp:3584
EBranchReplayMethod ReplayMethod
Definition ConfigCacheIni.h:1126
FString IniPath
Definition ConfigCacheIni.h:1113
CORE_API void SafeReload()
Definition ConfigCacheIni.cpp:3797
CORE_API void RunOnEachFile(TFunction< void(FConfigFile &File, const FString &Name)> Func)
Definition ConfigCacheIni.cpp:3382
CORE_API void Flush()
Definition ConfigCacheIni.cpp:3950
FConfigFile InMemoryFile
Definition ConfigCacheIni.h:1144
CORE_API const FConfigCommandStream * GetStaticLayer(const FString &LayerSubstring) const
Definition ConfigCacheIni.cpp:3893
CORE_API bool RemoveDynamicLayersFromHierarchy(const TArray< FString > &Filenames, FConfigModificationTracker *ModificationTracker=nullptr)
Definition ConfigCacheIni.cpp:3694
Definition ConfigCacheIni.h:1240
bool GetValue(const TCHAR *Section, const TCHAR *Key, int32 &Value, const FString &Filename)
Definition ConfigCacheIni.h:1561
bool GetValue(const TCHAR *Section, const TCHAR *Key, FText &Value, const FString &Filename)
Definition ConfigCacheIni.h:1557
FText GetTextOrDefault(const TCHAR *Section, const TCHAR *Key, const FText &DefaultValue, const FString &Filename)
Definition ConfigCacheIni.h:1612
bool GetBoolOrDefault(const TCHAR *Section, const TCHAR *Key, const bool DefaultValue, const FString &Filename)
Definition ConfigCacheIni.h:1594
int32 GetValue(const TCHAR *Section, const TCHAR *Key, TArray< FString > &Value, const FString &Filename)
Definition ConfigCacheIni.h:1573
static CORE_API bool CreateGConfigFromSaved(const TCHAR *Filename)
friend bool MakeBinaryConfig(const TCHAR *CmdLine)
bool GetValue(const TCHAR *Section, const TCHAR *Key, FString &Value, const FString &Filename)
Definition ConfigCacheIni.h:1553
bool IsReadyForUse()
Definition ConfigCacheIni.h:1268
bool GetValue(const TCHAR *Section, const TCHAR *Key, bool &Value, const FString &Filename)
Definition ConfigCacheIni.h:1569
float GetFloatOrDefault(const TCHAR *Section, const TCHAR *Key, const float DefaultValue, const FString &Filename)
Definition ConfigCacheIni.h:1588
bool IsGloballyRegistered() const
Definition ConfigCacheIni.h:1274
FString GetStringOrDefault(const TCHAR *Section, const TCHAR *Key, const FString &DefaultValue, const FString &Filename)
Definition ConfigCacheIni.h:1600
bool GetValue(const TCHAR *Section, const TCHAR *Key, float &Value, const FString &Filename)
Definition ConfigCacheIni.h:1565
int32 GetIntOrDefault(const TCHAR *Section, const TCHAR *Key, const int32 DefaultValue, const FString &Filename)
Definition ConfigCacheIni.h:1582
Definition ConfigCacheIni.h:526
TMap< FName, FString > ArrayOfStructKeys
Definition ConfigCacheIni.h:528
Definition ConfigCacheIni.h:533
uint8 bPythonConfigParserMode
Definition ConfigCacheIni.h:551
uint8 Dirty
Definition ConfigCacheIni.h:550
FConfigCommandStreamSection * FindOrAddSectionInternal(const FString &SectionName)
Definition ConfigCacheIni.cpp:3295
TMap< FString, TMap< FName, FString > > PerObjectConfigArrayOfStructKeys
Definition ConfigCacheIni.h:545
uint16 Priority
Definition ConfigCacheIni.h:560
void Shrink()
Definition ConfigCacheIni.cpp:3300
FString Filename
Definition ConfigCacheIni.h:561
FName Tag
Definition ConfigCacheIni.h:548
void ProcessCommand(SectionType *Section, FStringView SectionName, FConfigValue::EValueType Command, FName Key, FString &&Value)
Definition ConfigCacheIni.cpp:3290
uint8 bIsSavedConfigFile
Definition ConfigCacheIni.h:555
bool FillFileFromDisk(const FString &Filename, bool bHandleSymbolCommands)
Definition ConfigCacheIni.cpp:3285
uint8 bNeverSafeUnload
Definition ConfigCacheIni.h:558
class FConfigBranch * Branch
Definition ConfigCacheIni.h:547
Definition ConfigContext.h:31
Definition ConfigTypes.h:14
Definition ConfigCacheIni.h:566
CORE_API bool AddUniqueToSection(const TCHAR *Section, FName Key, const FString &Value)
Definition ConfigCacheIni.cpp:3048
bool GetValue(const TCHAR *Section, const TCHAR *Key, double &Value) const
Definition ConfigCacheIni.h:893
ValueType & Add(const KeyType &InKey, ValueType &&InValue)
Definition ConfigCacheIni.h:676
friend FArchive & operator<<(FArchive &Ar, FConfigFile &ConfigFile)
Definition ConfigCacheIni.cpp:6682
static CORE_API bool OverrideFileFromCommandline(FString &Filename)
CORE_API bool AddToSection(const TCHAR *Section, FName Key, const FString &Value)
Definition ConfigCacheIni.cpp:3033
CORE_API void SetText(const TCHAR *Section, const TCHAR *Key, const FText &Value)
Definition ConfigCacheIni.cpp:2935
int32 Num() const
Definition ConfigCacheIni.h:628
static bool ShouldExportQuotedString(const FString &PropertyValue)
Definition ConfigCacheIni.cpp:2138
bool bHasPlatformName
Definition ConfigCacheIni.h:572
int32 GetKeys(TSet< FString > &Keys) const
Definition ConfigCacheIni.h:658
CORE_API void WriteToString(FString &InOutText, const FString &SimulatedFilename=FString(), const FString &PrefixText=FString())
Definition ConfigCacheIni.cpp:2547
CORE_API const FConfigSection * FindOrAddConfigSection(const FString &Name)
Definition ConfigCacheIni.cpp:1492
CORE_API void ProcessInputFileContents(FStringView Contents, const FString &FileHint)
Definition ConfigCacheIni.cpp:2128
CORE_API bool ResetKeyInSection(const TCHAR *Section, FName Key)
Definition ConfigCacheIni.cpp:3107
CORE_API bool UpdateSinglePropertyInSection(const TCHAR *DiskFilename, const TCHAR *PropertyName, const TCHAR *SectionName)
Definition ConfigCacheIni.cpp:6828
static FString GenerateExportedPropertyLine(const FString &PropertyName, const FString &PropertyValue)
Definition ConfigCacheIni.cpp:2199
CORE_API void SetString(const TCHAR *Section, const TCHAR *Key, const TCHAR *Value)
Definition ConfigCacheIni.cpp:2917
bool GetValue(const TCHAR *Section, const TCHAR *Key, float &Value) const
Definition ConfigCacheIni.h:889
int32 GetValue(const TCHAR *Section, const TCHAR *Key, TArray< FString > &Value) const
Definition ConfigCacheIni.h:905
bool GetBool(const TCHAR *Section, const TCHAR *Key, bool &Value) const
Definition ConfigCacheIni.h:865
CORE_API bool DoesSectionExist(const TCHAR *Section) const
Definition ConfigCacheIni.cpp:2912
bool Contains(const FString &SectionName) const
Definition ConfigCacheIni.h:646
bool GetFloat(const TCHAR *Section, const TCHAR *Key, float &Value) const
Definition ConfigCacheIni.h:838
bool GetString(const TCHAR *Section, const TCHAR *Key, FString &Value) const
Definition ConfigCacheIni.h:802
bool GetValue(const TCHAR *Section, const TCHAR *Key, FString &Value) const
Definition ConfigCacheIni.h:877
FName Tag
Definition ConfigCacheIni.h:587
TRangedForConstIterator end() const
Definition ConfigCacheIni.h:712
void Append(TMap< FString, FConfigSection > Other)
Definition ConfigCacheIni.h:694
TRangedForConstIterator begin() const
Definition ConfigCacheIni.h:706
bool GetValue(const TCHAR *Section, const TCHAR *Key, int32 &Value) const
Definition ConfigCacheIni.h:885
CORE_API void SetInt64(const TCHAR *Section, const TCHAR *Key, const int64 Value)
Definition ConfigCacheIni.cpp:2975
CORE_API void SetBool(const TCHAR *Section, const TCHAR *Key, bool Value)
Definition ConfigCacheIni.cpp:2970
static CORE_API void OverrideFromCommandline(FConfigFile *File, const FString &Filename)
Definition ConfigCacheIni.cpp:2330
CORE_API void AddMissingProperties(const FConfigFile &InSourceFile)
Definition ConfigCacheIni.cpp:2828
CORE_API void CombineFromBuffer(const FString &Buffer, const FString &FileHint)
Definition ConfigCacheIni.cpp:2118
CORE_API void SetDouble(const TCHAR *Section, const TCHAR *Key, double Value)
Definition ConfigCacheIni.cpp:2963
ValueType & Add(KeyType &&InKey, const ValueType &InValue)
Definition ConfigCacheIni.h:682
CORE_API void AddDynamicLayerToHierarchy(const FString &Filename)
bool Dirty
Definition ConfigCacheIni.h:570
int32 GetKeys(TArray< FString > &Keys) const
Definition ConfigCacheIni.h:652
ValueType & Add(KeyType &&InKey, ValueType &&InValue)
Definition ConfigCacheIni.h:688
bool bPythonConfigParserMode
Definition ConfigCacheIni.h:573
CORE_API FConfigFile()
Definition ConfigCacheIni.cpp:1287
CORE_API bool SetInSection(const TCHAR *SectionName, FName Key, const FString &Value)
Definition ConfigCacheIni.cpp:3016
CORE_API void SetFloat(const TCHAR *Section, const TCHAR *Key, float Value)
Definition ConfigCacheIni.cpp:2956
FName Name
Definition ConfigCacheIni.h:583
CORE_API bool RemoveKeyFromSection(const TCHAR *Section, FName Key)
Definition ConfigCacheIni.cpp:3069
ValueType & Add(const KeyType &InKey, const ValueType &InValue)
Definition ConfigCacheIni.h:670
TArray< FConfigCommandlineOverride > CommandlineOptions
Definition ConfigCacheIni.h:595
CORE_API void Dump(FOutputDevice &Ar)
Definition ConfigCacheIni.cpp:2865
bool GetDouble(const TCHAR *Section, const TCHAR *Key, double &Value) const
Definition ConfigCacheIni.h:847
bool NoSave
Definition ConfigCacheIni.h:571
class FConfigBranch * Branch
Definition ConfigCacheIni.h:591
bool IsEmpty() const
Definition ConfigCacheIni.h:634
int32 Remove(KeyConstPointerType InKey)
Definition ConfigCacheIni.h:664
CORE_API bool ApplyFile(const FConfigCommandStream *File)
Definition ConfigCacheIni.cpp:1701
friend void FillFileFromBuffer(FileType *File, FStringView Buffer, bool bHandleSymbolCommands, const FString &FileHint)
Definition ConfigCacheIni.cpp:1820
bool operator!=(const FConfigFile &Other) const
Definition ConfigCacheIni.cpp:1469
bool GetUInt(const TCHAR *Section, const TCHAR *Key, uint32 &Value) const
Definition ConfigCacheIni.h:829
static CORE_API bool WriteTempFileThenMove()
Definition ConfigCacheIni.cpp:2525
FString PlatformName
Definition ConfigCacheIni.h:584
void Reset()
Definition ConfigCacheIni.h:700
bool GetValue(const TCHAR *Section, const TCHAR *Key, bool &Value) const
Definition ConfigCacheIni.h:901
void Empty(int32 ExpectedNumElements=0)
Definition ConfigCacheIni.h:640
void ProcessSourceAndCheckAgainstBackup()
Definition ConfigCacheIni.cpp:3160
CORE_API int32 GetArray(const TCHAR *Section, const TCHAR *Key, TArray< FString > &Value) const
Definition ConfigCacheIni.cpp:2900
CORE_API void SetArray(const TCHAR *Section, const TCHAR *Key, const TArray< FString > &Value)
Definition ConfigCacheIni.cpp:2983
bool GetValue(const TCHAR *Section, const TCHAR *Key, int64 &Value) const
Definition ConfigCacheIni.h:897
CORE_API void UpdateSections(const TCHAR *DiskFilename, const TCHAR *IniRootName=nullptr, const TCHAR *OverridePlatform=nullptr)
Definition ConfigCacheIni.cpp:6710
bool GetInt(const TCHAR *Section, const TCHAR *Key, int32 &Value) const
Definition ConfigCacheIni.h:820
CORE_API FConfigFile & operator=(const FConfigFile &Other)
Definition ConfigCacheIni.cpp:1327
CORE_API bool RemoveFromSection(const TCHAR *Section, FName Key, const FString &Value)
Definition ConfigCacheIni.cpp:3092
bool bCanSaveAllSections
Definition ConfigCacheIni.h:577
const FConfigSection * FindSection(const FString &SectionName) const
Definition ConfigCacheIni.h:622
CORE_API ~FConfigFile()
Definition ConfigCacheIni.cpp:1298
static void AppendExportedPropertyLine(FString &Out, const FString &PropertyName, const FString &PropertyValue)
Definition ConfigCacheIni.cpp:2206
bool operator==(const FConfigFile &Other) const
Definition ConfigCacheIni.cpp:1450
bool GetValue(const TCHAR *Section, const TCHAR *Key, FText &Value) const
Definition ConfigCacheIni.h:881
bool GetInt64(const TCHAR *Section, const TCHAR *Key, int64 &Value) const
Definition ConfigCacheIni.h:856
bool GetText(const TCHAR *Section, const TCHAR *Key, FText &Value) const
Definition ConfigCacheIni.h:811
FConfigFile(int32)
Definition ConfigCacheIni.h:612
Definition ConfigCacheIni.h:499
bool bTrackModifiedSections
Definition ConfigCacheIni.h:510
TArray< FString > LoadedFiles
Definition ConfigCacheIni.h:515
TMap< FString, FCVarTracker > CVars
Definition ConfigCacheIni.h:518
bool bTrackLoadedFiles
Definition ConfigCacheIni.h:511
TArray< FString > ClassesToSkipInstances
Definition ConfigCacheIni.h:522
TArray< FString > ClassesToSkipSubclasses
Definition ConfigCacheIni.h:521
TMap< FName, TSet< FString > > ModifiedSectionsPerBranch
Definition ConfigCacheIni.h:514
Definition ConfigCacheIni.h:407
CORE_API bool GetUInt(const TCHAR *Key, uint32 &Value) const
Definition ConfigCacheIni.cpp:957
CORE_API bool GetDouble(const TCHAR *Key, double &Value) const
Definition ConfigCacheIni.cpp:979
bool HandleArrayOfKeyedStructsCommand(FName Key, FString &&Value)
Definition ConfigCacheIni.cpp:881
CORE_API bool GetBool(const TCHAR *Key, bool &Value) const
Definition ConfigCacheIni.cpp:1001
CORE_API int32 GetArray(const TCHAR *Key, TArray< FString > &Value) const
Definition ConfigCacheIni.cpp:1012
bool operator!=(const FConfigSection &Other) const
Definition ConfigCacheIni.cpp:791
static bool HasQuotes(const FString &Test)
Definition ConfigCacheIni.cpp:751
CORE_API bool GetInt(const TCHAR *Key, int32 &Value) const
Definition ConfigCacheIni.cpp:946
void CORE_API HandleAddCommand(FName ValueName, FString &&Value, bool bAppendValueIfNotArrayOfStructsKeyUsed)
Definition ConfigCacheIni.cpp:866
TSet< FName > EmptyInitializedKeys
Definition ConfigCacheIni.h:476
FConfigSection()
Definition ConfigCacheIni.h:409
FConfigSection(UE::ConfigAccessTracking::FSection *InSectionAccess)
Definition ConfigCacheIni.h:414
CORE_API bool GetText(const TCHAR *Section, const TCHAR *Key, FText &Value) const
Definition ConfigCacheIni.cpp:936
bool operator==(const FConfigSection &Other) const
Definition ConfigCacheIni.cpp:761
void MultiFind(const FName Key, TArray< FString, Allocator > &OutValues, const bool bMaintainOrder=false) const
Definition ConfigCacheIni.h:444
friend FArchive & operator<<(FArchive &Ar, FConfigSection &ConfigSection)
Definition ConfigCacheIni.cpp:825
TMap< FName, FString > ArrayOfStructKeys
Definition ConfigCacheIni.h:468
CORE_API bool GetFloat(const TCHAR *Key, float &Value) const
Definition ConfigCacheIni.cpp:968
CORE_API bool GetInt64(const TCHAR *Key, int64 &Value) const
Definition ConfigCacheIni.cpp:990
void MultiFind(const FName Key, TArray< FConfigValue, Allocator > &OutValues, const bool bMaintainOrder=false) const
Definition ConfigCacheIni.h:438
CORE_API bool GetString(const TCHAR *Key, FString &Value) const
Definition ConfigCacheIni.cpp:925
bool bCanSave
Definition ConfigCacheIni.h:479
Definition NameTypes.h:617
Definition OutputDevice.h:133
static CORE_API FString GeneratedConfigDir()
Definition Paths.cpp:549
Definition StructuredArchiveAdapters.h:13
CORE_API FStructuredArchiveSlot GetSlot()
Definition StructuredArchiveFromArchive.cpp:37
Definition StructuredArchiveSlots.h:52
static UE_FORCEINLINE_HINT uint32 HashString(const TCHAR *InStr, const uint32 InBaseHash=0)
Definition TextLocalizationResource.h:80
Definition IConsoleManager.h:558
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
CORE_API FArchive & GetUnderlyingArchive() const
Definition StructuredArchiveSlots.cpp:7
Definition ScopeRWLock.h:21
Definition ScopeRWLock.h:60
UE_REWRITE void Reverse(T(&Array)[ArraySize])
Definition Reverse.h:28
Definition TestUtils.cpp:8
Definition ConfigCacheIni.h:1917
void SetGlobalIniStringsFromMembers()
Definition ConfigCacheIni.h:491
FString PropertyValue
Definition ConfigCacheIni.h:492
FString PropertyKey
Definition ConfigCacheIni.h:492
FString Section
Definition ConfigCacheIni.h:492
FString BaseFileName
Definition ConfigCacheIni.h:492
Definition ConfigCacheIni.h:502
TMap< FName, TMap< FName, FConfigSection > > CVarEntriesPerBranchPerTag
Definition ConfigCacheIni.h:506
int CVarPriority
Definition ConfigCacheIni.h:504
Definition ConfigCacheIni.h:124
const FString & GetSavedValue() const
Definition ConfigCacheIni.h:295
FConfigValue(const FConfigSection *InSection, FName InValueName, FString &&InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:201
FConfigValue(FString &&InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:197
EValueType ValueType
Definition ConfigCacheIni.h:394
friend void operator<<(FStructuredArchive::FSlot Slot, FConfigValue &ConfigValue)
Definition ConfigCacheIni.h:318
FConfigValue & operator=(FConfigValue &&RHS)
Definition ConfigCacheIni.h:239
FConfigValue & operator=(const TCHAR *RHS)
Definition ConfigCacheIni.h:267
FConfigValue & operator=(const FString &RHS)
Definition ConfigCacheIni.h:272
const FString & GetSavedValueForWriting() const
Definition ConfigCacheIni.h:381
FConfigValue()
Definition ConfigCacheIni.h:152
FConfigValue(const FString &InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:181
FConfigValue & operator=(const FConfigValue &RHS)
Definition ConfigCacheIni.h:253
friend FArchive & operator<<(FArchive &Ar, FConfigValue &ConfigValue)
Definition ConfigCacheIni.h:312
UE_FORCEINLINE_HINT FString GetValueForWriting() const
Definition ConfigCacheIni.h:371
FConfigValue(FConfigValue &&InConfigValue)
Definition ConfigCacheIni.h:226
FConfigValue(const FConfigSection *InSection, FName InValueName, const FString &InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:185
FConfigValue(const FConfigSection *InSection, FName InValueName, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:156
static CORE_API bool CollapseValue(const FString &InExpandedValue, FString &OutCollapsedValue)
Definition ConfigCacheIni.cpp:235
FConfigValue(const FConfigSection *InSection, FName InValueName, const TCHAR *InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:169
bool operator!=(const FConfigValue &Other) const
Definition ConfigCacheIni.h:310
FString GetValue() const
Definition ConfigCacheIni.h:286
FConfigValue(const TCHAR *InValue, EValueType Type=EValueType::Combined)
Definition ConfigCacheIni.h:165
EValueType
Definition ConfigCacheIni.h:127
static CORE_API bool ExpandValue(const FString &InCollapsedValue, FString &OutExpandedValue)
Definition ConfigCacheIni.cpp:170
FConfigValue & operator=(FString &&RHS)
Definition ConfigCacheIni.h:277
bool operator==(const FConfigValue &Other) const
Definition ConfigCacheIni.h:309
FConfigValue(const FConfigValue &InConfigValue)
Definition ConfigCacheIni.h:213
Definition ConfigCacheIni.cpp:5763
Definition NameTypes.h:439