using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace Nop.Core.Infrastructure; /// /// Classes implementing this interface can serve as a portal for the various services composing the Nop engine. /// Edit functionality, modules and implementations access most Nop functionality through this interface. /// public partial interface IEngine { /// /// Add and configure services /// /// Collection of service descriptors /// Configuration of the application void ConfigureServices(IServiceCollection services, IConfiguration configuration); /// /// Configure HTTP request pipeline /// /// Builder for configuring an application's request pipeline void ConfigureRequestPipeline(IApplicationBuilder application); /// /// Resolve dependency /// /// Scope /// Type of resolved service /// Resolved service T Resolve(IServiceScope scope = null) where T : class; /// /// Resolve dependency /// /// Type of resolved service /// Scope /// Resolved service object Resolve(Type type, IServiceScope scope = null); /// /// Resolve dependencies /// /// Type of resolved services /// Collection of resolved services IEnumerable ResolveAll(); /// /// Resolve unregistered service /// /// Type of service /// Resolved service object ResolveUnregistered(Type type); }