5#include "Containers/UnrealString.h"
7#include "Delegates/Delegate.h"
8#include "HAL/CriticalSection.h"
9#include "HAL/PlatformProcess.h"
10#include "HAL/Runnable.h"
11#include "Misc/DateTime.h"
12#include "Misc/SingleThreadRunnable.h"
13#include "Misc/Timespan.h"
18
19
20
21
25
26
27
28
33
34
41
42
43
44
45
46
47
51
52
53
54
55
56
57
58
67
68
69
70
71 void Cancel(
bool InKillTree =
false )
78
79
80
81
85
86
87
88
95
96
99 return FString::Printf(
TEXT(
"%s %s"), *URL, *Params);
103
104
105
106
113
114
115
116
125
126
127
128
135
136
137
138
145
146
147
148
155
156
157
158
165
166
167
182 virtual uint32
Run()
override;
189 virtual void Exit()
override { }
199
200
204
205
206
207
282
283
290
291
292
296
297
298
299
#define TSAN_ATOMIC(Type)
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
FWindowsCriticalSection FCriticalSection
void ProcessOutput(const FString &Output)
FMonitoredProcess(const FString &InURL, const FString &InParams, bool InHidden, bool InCreatePipes=true)
virtual ~FMonitoredProcess()
virtual uint32 Run() override
void SetSleepInterval(float InSleepInterval)
virtual bool Init() override
virtual void Stop() override
int GetReturnCode() const
FOnMonitoredProcessOutput & OnOutput()
virtual FSingleThreadRunnable * GetSingleThreadInterface() override
FOnMonitoredProcessOutput OutputDelegate
FTimespan GetDuration() const
FOnMonitoredProcessCompleted & OnCompleted()
FSimpleDelegate & OnCanceled()
const FString & GetFullOutputWithoutDelegate() const
FSimpleDelegate CanceledDelegate
virtual void Exit() override
FOnMonitoredProcessCompleted CompletedDelegate
FProcHandle ProcessHandle
void Cancel(bool InKillTree=false)
FMonitoredProcess(const FString &InURL, const FString &InParams, const FString &InWorkingDir, bool InHidden, bool InCreatePipes=true)
FString GetCommandline() const
FProcHandle GetProcessHandle() const
static void CancelQueue()
FSerializedUATProcess * NextProcessToRun
static FString GetUATPath()
virtual bool Launch() override
static FCriticalSection Serializer
FSimpleDelegate LaunchFailedDelegate
static FSerializedUATProcess * HeadProcess
static bool bHasSucceededOnce
FSimpleDelegate & OnLaunchFailed()
FSerializedUATProcess(const FString &RunUATCommandline)