// Copyright Epic Games, Inc. All Rights Reserved. namespace UnrealToolbox { /// /// Configuration for a tool that can be shown in the launcher /// public class ToolConfig { /// /// Popup menu item for the tool /// public ToolMenuItem? PopupMenu { get; set; } /// /// Whether the install/uninstall for this tool needs to be triggered manually /// public bool ManualInstall { get; set; } /// /// Whether the install/uninstall for this tool needs administrator or root privileges /// public bool RequiresElevation { get; set; } = false; /// /// Whether the install/uninstall process window should be hidden /// public bool Hidden { get; set; } = false; /// /// Command to run when installing /// public ToolCommand? InstallCommand { get; set; } /// /// Command to run when uninstalling /// public ToolCommand? UninstallCommand { get; set; } } /// /// Menu item for the tool /// public class ToolMenuItem { /// /// Text to display for the menu item. If null, or a sequence of hyphens, will create a menu separator. /// public string? Label { get; set; } /// /// Command to run when the menu item is clicked. Will be executed in the root directory of the downloaded tool. /// public ToolCommand? Command { get; set; } /// /// Child menu items. Cannot be specified at the same time as a tool. /// public List? Children { get; set; } } /// /// Command to run for a menu item. /// public class ToolCommand { /// /// Executable to run /// public string FileName { get; set; } = "cmd.exe"; /// /// Command line arguments for the tool /// public List? Arguments { get; set; } } }