5#include "Containers/Array.h"
6#include "Containers/StringFwd.h"
7#include "Containers/UnrealString.h"
10#include "HAL/CriticalSection.h"
11#include "HAL/PlatformCrt.h"
12#include "Internationalization/Text.h"
13#include "Misc/OutputDevice.h"
14#include "Misc/ScopeLock.h"
15#include "Misc/SlowTask.h"
16#include "Misc/SlowTaskStack.h"
17#include "Templates/SharedPointer.h"
18#include "Templates/UniquePtr.h"
19#include "Templates/UnrealTemplate.h"
22class SBuildProgressWidget;
38
39
40
41
61
62
69
70
77
78
79
80
106 OutWarnings = Warnings;
110 return Warnings.Num();
128 OutWarningsAndErrors = MoveTemp(Errors);
129 OutWarningsAndErrors += MoveTemp(Warnings);
161
162
163
168 if (!ScopeStackSharedPtr)
170 ScopeStackSharedPtr = MakeShareable(
const_cast<FSlowTaskStack*>(&ScopeStack), [](FSlowTaskStack*){});
172 return ScopeStackSharedPtr;
184
185
186
190 Warnings.Add(InWarning);
195 Warnings.Add(MoveTemp(InWarning));
199
200
201
210 Errors.Add(MoveTemp(InError));
FWindowsCriticalSection FCriticalSection
void AddToHistory(const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category, double Time)
virtual void SetContext(FContextSupplier *InContext)
virtual void SerializeRecord(const UE::FLogRecord &Record) override
FCriticalSection WarningsAndErrorsCritical
virtual FContextSupplier * GetContext() const
FSlowTaskStack ScopeStack
virtual void Serialize(const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category) override
virtual void FinalizeSlowTask()
FORCEINLINE const FSlowTaskStack & GetScopeStack() const
virtual ~FFeedbackContext()
virtual bool ReceivedUserCancel()
void AddRecordToHistory(const UE::FLogRecord &Record)
virtual bool IsPlayingInEditor() const
bool TreatWarningsAsErrors
virtual void CloseBuildProgressWindow()
TSharedPtr< FSlowTaskStack > ScopeStackSharedPtr
virtual bool YesNof(const FText &Question)
FFeedbackContext(const FFeedbackContext &)
void FormatLine(FStringBuilderBase &Out, const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category, double Time, ELogVerbosity::Type *OutVerbosity=nullptr) const
void UpdateProgress(int32 Numerator, int32 Denominator)
const TSharedPtr< FSlowTaskStack > & GetScopeStackSharedPtr() const
void ClearWarningsAndErrors()
void StatusUpdate(int32 Numerator, int32 Denominator, const FText &StatusText)
void GetErrorsAndWarningsAndEmpty(TArray< FString > &OutWarningsAndErrors)
void GetErrors(TArray< FString > &OutErrors) const
void GetWarnings(TArray< FString > &OutWarnings) const
void AddError(const FString &InError)
virtual void StartSlowTask(const FText &Task, bool bShowCancelButton=false)
TArray< FString > Warnings
void RequestUpdateUI(bool bForceUpdate=false)
FFeedbackContext & operator=(const FFeedbackContext &)
void BeginSlowTask(const FText &Task, bool ShowProgressDialog, bool bShowCancelButton=false)
void AddWarning(const FString &InWarning)
void FormatRecordLine(FStringBuilderBase &Out, const UE::FLogRecord &Record, ELogVerbosity::Type *OutVerbosity=nullptr) const
virtual void ProgressReported(const float TotalProgressInterp, FText DisplayMessage)
void AddError(FString &&InError)
void AddWarning(FString &&InWarning)
virtual TWeakPtr< class SBuildProgressWidget > ShowBuildProgressWindow()
virtual void Serialize(const TCHAR *V, ELogVerbosity::Type Verbosity, const FName &Category, double Time) override
int32 GetNumWarnings() const
TArray< TUniquePtr< FSlowTask > > LegacyAPIScopes
void StatusForceUpdate(int32 Numerator, int32 Denominator, const FText &StatusText)
int32 GetNumErrors() const
UE_NODISCARD_CTOR FScopeLock(FCriticalSection *InSynchObject)