save progress
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user