// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Types/String.h" #include "Engine/Core/Collections/Array.h" #include "Engine/Core/Collections/Dictionary.h" /// /// Settings for new process. /// API_STRUCT(NoDefault) struct CreateProcessSettings { DECLARE_SCRIPTING_TYPE_MINIMAL(CreateProcessSettings); /// /// The path to the executable file. /// API_FIELD() String FileName; /// /// The custom arguments for command line. /// API_FIELD() String Arguments; /// /// The custom folder path where start process. Empty if unused. /// API_FIELD() String WorkingDirectory; /// /// True if capture process output and print to the log. /// API_FIELD() bool LogOutput = true; /// /// True if capture process output and store it as Output text array. /// API_FIELD() bool SaveOutput = false; /// /// True if wait for the process execution end. /// API_FIELD() bool WaitForEnd = true; /// /// True if hint process to hide window. Supported only on Windows platform. /// API_FIELD() bool HiddenWindow = true; /// /// True if use operating system shell to start the process. Supported only on Windows platform. /// API_FIELD() bool ShellExecute = false; /// /// Custom environment variables to set for the process. Empty if unused. Additionally newly spawned process inherits this process vars which can be overriden here. /// API_FIELD() Dictionary Environment; /// /// Output process contents. /// API_FIELD() Array Output; };