AuroraRuntime/Include/Aurora/Processes/StartupParmaters.hpp
2022-06-14 02:14:51 +01:00

60 lines
1.3 KiB
C++

/***
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<AuString> 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<AuString> workingDirectory;
};
}