35 lines
1.9 KiB
C#
35 lines
1.9 KiB
C#
namespace Launcher.Next.App;
|
|
public partial class App : System.Windows.Application
|
|
{
|
|
protected override async void OnStartup(System.Windows.StartupEventArgs e)
|
|
{
|
|
base.OnStartup(e);
|
|
if (e.Args.FirstOrDefault()?.Equals("legacy-configuration-probe", StringComparison.OrdinalIgnoreCase) == true)
|
|
{
|
|
ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
|
|
Shutdown(await LegacyConfigurationProbeCli.RunAsync(e.Args.Skip(1).ToArray()));
|
|
return;
|
|
}
|
|
if (e.Args.FirstOrDefault()?.Equals("package-lifecycle-pilot", StringComparison.OrdinalIgnoreCase) == true)
|
|
{
|
|
ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
|
|
Shutdown(await PackageLifecyclePilotCli.RunAsync(e.Args.Skip(1).ToArray()));
|
|
return;
|
|
}
|
|
if (e.Args.FirstOrDefault()?.Equals("local-parity-launch", StringComparison.OrdinalIgnoreCase) == true)
|
|
{
|
|
ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
|
|
Shutdown(await LocalParityLaunchCli.RunAsync(e.Args.Skip(1).ToArray()));
|
|
return;
|
|
}
|
|
if (e.Args.Length == 4 && e.Args[0].Equals("--mode", StringComparison.OrdinalIgnoreCase) && e.Args[1].Equals("LocalParityLaunch", StringComparison.OrdinalIgnoreCase) && e.Args[2].Equals("--config", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
try { new MainWindow(LocalParityLaunchService.LoadProfile(e.Args[3])).Show(); }
|
|
catch (Exception exception) { System.Windows.MessageBox.Show("Controlled local configuration blocked: " + exception.Message, "Launcher Next"); Shutdown(2); }
|
|
return;
|
|
}
|
|
if (e.Args.FirstOrDefault()?.Equals("pilot", StringComparison.OrdinalIgnoreCase) == true) { Shutdown(await PilotCli.RunAsync(e.Args.Skip(1).ToArray())); return; }
|
|
new MainWindow().Show();
|
|
}
|
|
}
|