save progress

This commit is contained in:
StellaOps Bot
2026-01-03 00:47:24 +02:00
parent 3f197814c5
commit ca578801fd
319 changed files with 32478 additions and 2202 deletions

View File

@@ -0,0 +1,51 @@
// 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;
/// <summary>
/// Extension methods for registering normalization services.
/// </summary>
public static class ServiceCollectionExtensions
{
/// <summary>
/// Adds normalization pipeline services to the service collection.
/// </summary>
/// <param name="services">The service collection.</param>
/// <returns>The service collection for chaining.</returns>
public static IServiceCollection AddNormalizationPipelines(this IServiceCollection services)
{
// Register individual pipelines
services.AddSingleton<INormalizationPipeline, X64NormalizationPipeline>();
services.AddSingleton<INormalizationPipeline, Arm64NormalizationPipeline>();
// Register the service that manages pipelines
services.AddSingleton<NormalizationService>();
return services;
}
/// <summary>
/// Adds only x86/x64 normalization pipeline.
/// </summary>
public static IServiceCollection AddX64Normalization(this IServiceCollection services)
{
services.AddSingleton<INormalizationPipeline, X64NormalizationPipeline>();
services.AddSingleton<NormalizationService>();
return services;
}
/// <summary>
/// Adds only ARM64 normalization pipeline.
/// </summary>
public static IServiceCollection AddArm64Normalization(this IServiceCollection services)
{
services.AddSingleton<INormalizationPipeline, Arm64NormalizationPipeline>();
services.AddSingleton<NormalizationService>();
return services;
}
}