// 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; } } }