// Copyright Epic Games, Inc. All Rights Reserved.
using HordeCommon.Rpc.Tasks;
using JobDriver.Execution;
using JobDriver.Utility;
namespace JobDriver
{
///
/// Settings for the driver
///
class DriverSettings
{
///
/// The executor to use for jobs
///
public string Executor { get; set; } = WorkspaceExecutor.Name;
///
/// Whether to use Wine for executing the job. This normally is configured via
///
public bool UseWine { get; set; } = false;
///
/// Settings for the local executor
///
public LocalExecutorSettings LocalExecutor { get; set; } = new LocalExecutorSettings();
///
/// Settings for the perforce executor
///
public PerforceExecutorSettings PerforceExecutor { get; set; } = new PerforceExecutorSettings();
///
/// List of process names to terminate after a lease completes, but not after a job step
///
public List ProcessesToTerminate { get; } = new List();
}
///
/// Specifies a process to terminate
///
public class ProcessToTerminate
{
///
/// Name of the process
///
public string Name { get; set; } = String.Empty;
///
/// When to terminate this process
///
public List? When { get; init; }
}
}