Files
UnrealEngine/Engine/Source/Developer/Windows/LiveCodingServer/Private/External/LC_AppSettings.h
2025-05-18 13:04:45 +08:00

131 lines
3.8 KiB
C++

// Copyright 2011-2020 Molecular Matters GmbH, all rights reserved.
#pragma once
#if LC_VERSION == 1
// BEGIN EPIC MOD
#include "CoreTypes.h"
// END EPIC MOD
#include "LC_Settings.h"
namespace appSettings
{
struct FocusOnRecompile
{
enum Enum
{
ON_ERROR,
ON_SUCCESS,
ON_SHORTCUT,
NEVER
};
};
void Startup(const wchar_t* group);
void Shutdown(void);
// returns a directory where Live++-related files are saved, e.g. %LocalAppData%\Live++
std::wstring GetLppDirectory(void);
// returns a path where symbols can be stored
std::wstring GetSymbolsDirectory(void);
// returns a path where user settings can be stored
std::wstring GetUserSettingsPath(void);
// returns a path where project settings can be stored
std::wstring GetProjectSettingsPath(void);
// returns the overridden compiler path
std::wstring GetCompilerPath(void);
// returns the overridden linker path
std::wstring GetLinkerPath(void);
// returns an array of file extensions to treat as C++ files when splitting amalgamated files
const types::vector<std::wstring>& GetAmalgamatedCppFileExtensions(void);
void UpdateCompilerPathCache(void);
void UpdateLinkerPathCache(void);
void UpdatePathCache(void);
void UpdateAmalgamatedCppFileExtensions(void);
// apply a new value to any of the boolean settings
void ApplySettingBool(const char* const settingName, bool value);
// apply a new value to any of the int settings
void ApplySettingInt(const char* const settingName, int value);
// apply a new value to any of the string settings
void ApplySettingString(const char* const settingName, const wchar_t* const value);
// appearance
extern SettingInt* g_initialWindowMode;
extern SettingIntProxy* g_initialWindowModeProxy;
extern SettingBool* g_showFullPathInTitle;
extern SettingBool* g_showPathFirstInTitle;
// behaviour
extern SettingInt* g_receiveFocusOnRecompile;
extern SettingIntProxy* g_receiveFocusOnRecompileProxy;
extern SettingBool* g_showNotificationOnRecompile;
extern SettingBool* g_clearLogOnRecompile;
extern SettingBool* g_minimizeOnClose;
extern SettingBool* g_keepTrayIcon;
extern SettingString* g_playSoundOnSuccess;
extern SettingString* g_playSoundOnError;
extern SettingShortcut* g_compileShortcut;
extern SettingInt* g_prewarmTimeout;
// logging
extern SettingBool* g_showUndecoratedNames;
extern SettingBool* g_showTimestamps;
extern SettingBool* g_wordWrapOutput;
extern SettingBool* g_enableDevLog;
extern SettingBool* g_enableTelemetryLog;
extern SettingBool* g_enableDevLogCompilands;
// compiler
extern SettingString* g_compilerPath; // DO NOT USE directly, use GetCompilerPath instead!
extern SettingBool* g_useCompilerOverrideAsFallback;
extern SettingBool* g_useCompilerEnvironment;
extern SettingString* g_compilerOptions;
extern SettingBool* g_compilerForcePchPdbs;
// linker
extern SettingString* g_linkerPath; // DO NOT USE directly, use GetLinkerPath instead!
extern SettingBool* g_useLinkerOverrideAsFallback;
extern SettingBool* g_useLinkerEnvironment;
extern SettingString* g_linkerOptions;
// continuous compilation
extern SettingBool* g_continuousCompilationEnabled;
extern SettingString* g_continuousCompilationPath;
extern SettingInt* g_continuousCompilationTimeout;
// virtual drive
extern SettingString* g_virtualDriveLetter;
extern SettingString* g_virtualDrivePath;
// multi-process editing
extern SettingBool* g_installCompiledPatchesMultiProcess;
// amalgamated/unity builds
extern SettingBool* g_amalgamationSplitIntoSingleParts;
extern SettingInt* g_amalgamationSplitMinCppCount;
extern SettingString* g_amalgamationCppFileExtensions; // DO NOT USE directly, use GetAmalgamatedCppFileExtensions instead!
// UE4-specific
extern SettingBool* g_ue4EnableNatVisSupport;
// FASTBuild-specific
extern SettingString* g_fastBuildDatabasePath;
extern SettingString* g_fastBuildDllName;
}
#endif