/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: StartupParmaters.hpp Date: 2022-1-29 Author: Reece ***/ #pragma once namespace Aurora::Processes { struct StartupParmaters { AU_COPY_MOVE_DEF(StartupParmaters); /** * @brief Relative or absolute path to the executable binary */ AuString process; /** * @brief Raw arguments (argv[1]...) */ AuList args; /** * @brief Child possession type */ enum ESpawnType type; /** * @brief Enables stdout ipc to parent */ EStreamForward fwdOut {}; /** * @brief Enables stderr ipc to parent */ EStreamForward fwdErr {}; /** * @brief Enables stdin ipc from parent (us) to child */ EStreamForward fwdIn {}; /** * @brief Effectively is user facing. * Under Windows GUI, this means hides conhost. * Under ConsoleApps, this means blank the childs output handles. */ bool bNoShowConsole {}; /** * @brief Starts the process in a resumable suspension mode */ bool bInDebugMode {}; AuOptional workingDirectory; }; }