// Copyright (c) StellaOps. All rights reserved. // Licensed under AGPL-3.0-or-later. See LICENSE in the project root. using Microsoft.Extensions.DependencyInjection; using StellaOps.BinaryIndex.Normalization.Arm64; using StellaOps.BinaryIndex.Normalization.X64; namespace StellaOps.BinaryIndex.Normalization; /// /// Extension methods for registering normalization services. /// public static class ServiceCollectionExtensions { /// /// Adds normalization pipeline services to the service collection. /// /// The service collection. /// The service collection for chaining. public static IServiceCollection AddNormalizationPipelines(this IServiceCollection services) { // Register individual pipelines services.AddSingleton(); services.AddSingleton(); // Register the service that manages pipelines services.AddSingleton(); return services; } /// /// Adds only x86/x64 normalization pipeline. /// public static IServiceCollection AddX64Normalization(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(); return services; } /// /// Adds only ARM64 normalization pipeline. /// public static IServiceCollection AddArm64Normalization(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(); return services; } }