From 34175eb673818dc66f1e530cd58907ca0d6634e9 Mon Sep 17 00:00:00 2001 From: Casper Sparre Date: Wed, 18 Feb 2026 17:34:28 +0100 Subject: [PATCH] Added Cajetan OF-DL project --- Cajetan.OF-DL.slnx | 8 ++++ Cajetan.OF-DL/Cajetan.OF-DL.csproj | 48 +++++++++++++++++++++ Cajetan.OF-DL/Icon/download.ico | Bin 0 -> 1150 bytes Cajetan.OF-DL/ProgramCajetan.cs | 51 +++++++++++++++++++++++ Cajetan.OF-DL/Properties/GlobalUsings.cs | 9 ++++ 5 files changed, 116 insertions(+) create mode 100644 Cajetan.OF-DL.slnx create mode 100644 Cajetan.OF-DL/Cajetan.OF-DL.csproj create mode 100644 Cajetan.OF-DL/Icon/download.ico create mode 100644 Cajetan.OF-DL/ProgramCajetan.cs create mode 100644 Cajetan.OF-DL/Properties/GlobalUsings.cs diff --git a/Cajetan.OF-DL.slnx b/Cajetan.OF-DL.slnx new file mode 100644 index 0000000..0d7247c --- /dev/null +++ b/Cajetan.OF-DL.slnx @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Cajetan.OF-DL/Cajetan.OF-DL.csproj b/Cajetan.OF-DL/Cajetan.OF-DL.csproj new file mode 100644 index 0000000..b63f27b --- /dev/null +++ b/Cajetan.OF-DL/Cajetan.OF-DL.csproj @@ -0,0 +1,48 @@ + + + + Exe + net10.0 + OF_DL + enable + enable + Icon\download.ico + + + + false + true + embedded + + + + + + + + + ..\OF DL\References\Spectre.Console.dll + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cajetan.OF-DL/Icon/download.ico b/Cajetan.OF-DL/Icon/download.ico new file mode 100644 index 0000000000000000000000000000000000000000..222e2cc49645fe656394f5e7f375d659925499a8 GIT binary patch literal 1150 zcmeH@F%H5o3`Kt=b~-U3m9a-)V`1+VI?Ytduaq`jwphkFd)75CWFSGB#eq zipMfGwmkEWdQ5Ur%`-2Jl5b|Mn>^y{ET4<%Zw;&SYIB^_xoYY&!%MEt^`NJpVf77t uj@LSSc+)32C-ukY#{WIP#>~Ho=c{*meybb+(eVttFThX&&;2O5r}PCC4 ConfigureServices(string[] args) +{ + // Set up dependency injection with LoggingService and ConfigService + ServiceCollection services = new(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(new ExitHelper(new SpectreDownloadEventHandler())); + ServiceProvider tempServiceProvider = services.BuildServiceProvider(); + + ILoggingService loggingService = tempServiceProvider.GetRequiredService(); + IConfigService configService = tempServiceProvider.GetRequiredService(); + ExitHelper exitHelper = tempServiceProvider.GetRequiredService(); + + if (!await configService.LoadConfigurationAsync(args)) + { + AnsiConsole.MarkupLine("\n[red]config.conf is not valid, check your syntax![/]\n"); + if (!configService.IsCliNonInteractive) + { + AnsiConsole.MarkupLine("[red]Press any key to exit.[/]"); + Console.ReadKey(); + } + + exitHelper.ExitWithCode(3); + } + + AnsiConsole.Markup("[green]config.conf located successfully!\n[/]"); + + // Set up full dependency injection with loaded config + services = []; + services.AddSingleton(loggingService); + services.AddSingleton(configService); + services.AddSingleton(exitHelper); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + return services; +} diff --git a/Cajetan.OF-DL/Properties/GlobalUsings.cs b/Cajetan.OF-DL/Properties/GlobalUsings.cs new file mode 100644 index 0000000..3bb5015 --- /dev/null +++ b/Cajetan.OF-DL/Properties/GlobalUsings.cs @@ -0,0 +1,9 @@ +global using Spectre.Console; +global using OF_DL; +global using OF_DL.CLI; +global using OF_DL.Crypto; +global using OF_DL.Enumerations; +global using OF_DL.Helpers; +global using OF_DL.Models; +global using OF_DL.Services; +global using OF_DL.Utils;