5#include "Containers/Array.h"
6#include "Containers/Queue.h"
7#include "Containers/UnrealString.h"
9#include "Delegates/Delegate.h"
10#include "HAL/PlatformProcess.h"
11#include "HAL/Runnable.h"
12#include "Logging/LogMacros.h"
13#include "Misc/DateTime.h"
14#include "Misc/Timespan.h"
21
22
23
24
28
29
30
31
35
36
43
44
45
46
47
48
52
53
54
55
56
57
58
65
66
67
68
72
73
74
75
82
83
84
85
92
93
94
95
99
100
101
102
109
110
111
112
113
120
121
122
123
130
131
132
133
137
138
139
140
144
145
146
147
154
155
156
157
171 virtual uint32
Run()
override;
178 virtual void Exit()
override { }
183
184
185
186
190
191
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
FOnInteractiveProcessCompleted CompletedDelegate
FSimpleDelegate CanceledDelegate
virtual void Stop() override
void SendWhenReady(const FString &Message)
FOnInteractiveProcessOutput & OnOutput()
FInteractiveProcess(const FString &InURL, const FString &InParams, bool InHidden, bool LongTime=false)
virtual uint32 Run() override
int GetReturnCode() const
FSimpleDelegate & OnCanceled()
TQueue< FString > StringMessagesToProcess
FProcHandle GetProcessHandle() const
FOnInteractiveProcessOutput OutputDelegate
FOnInteractiveProcessCompleted & OnCompleted()
FProcHandle ProcessHandle
void Cancel(bool InKillTree=false)
void SendWhenReady(const TArray< uint8 > &Data)
TQueue< TArray< uint8 > > DataMessagesToProcess
virtual bool Init() override
FInteractiveProcess(const FString &InURL, const FString &InParams, const FString &InWorkingDir, bool InHidden, bool LongTime=false)
void ProcessOutput(const FString &Output)
FTimespan GetDuration() const
virtual void Exit() override
void SendMessageToProcessIf()