AuroraRuntime/Include/Aurora/Processes/StartupParameters.hpp
Jamie Reece Wilson 3fe2d15a2f [+] AuProcesses::StartupParameters::environmentVariables
[+] AuProcesses::StartupParameters::bInheritEnvironmentVariables
[+] AuProcesses::StartupParameters::handleOutStream
[+] AuProcesses::StartupParameters::handleErrorStream
[+] AuProcesses::StartupParameters::handleInputStream
[+] AuProcesses::StartupParameters::optAffinity
2023-08-20 23:58:32 +01:00

71 lines
1.6 KiB
C++

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: StartupParameters.hpp
Date: 2022-1-29
Author: Reece
***/
#pragma once
namespace Aurora::Processes
{
struct StartupParameters
{
AU_DEF(StartupParameters);
AU_MOVE(StartupParameters);
/**
* @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 Specifies the stdout handle of the child process
*/
EStreamForward fwdOut {};
/**
* @brief Specifies the stderr handle of the child process
*/
EStreamForward fwdErr {};
/**
* @brief Specifies the stdin handle of the child process
*/
EStreamForward fwdIn {};
/**
* @brief Under Windows Console subsystem applications, this hides the conhost.
*/
bool bNoShowConsole {};
/**
* @brief Starts the process in a resumable suspension mode
*/
bool bInDebugMode {};
AuOptional<AuString> workingDirectory;
AuList<AuPair<AuString, AuString>> environmentVariables;
bool bInheritEnvironmentVariables { true };
IO::IOHandle handleOutStream;
IO::IOHandle handleErrorStream;
IO::IOHandle handleInputStream;
AuOptionalEx<HWInfo::CpuBitId> optAffinity;
};
}