summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Services/Interfaces/IPluginService.cs
blob: 4ef77b46d3c5f2efa6da1f493630195216ee6b8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using Autofac;
using PKISharp.WACS.Plugins.Interfaces;
using PKISharp.WACS.Services.Serialization;
using System;
using System.Collections.Generic;

namespace PKISharp.WACS.Services
{
    public interface IPluginService
    {
        IEnumerable<T> GetFactories<T>(ILifetimeScope scope) where T: IPluginOptionsFactory;
        T GetFactory<T>(ILifetimeScope scope, string name, string? parameter = null) where T : IPluginOptionsFactory;
        IEnumerable<IArgumentsProvider> ArgumentsProviders();
        IEnumerable<Type> PluginOptionTypes<T>() where T : PluginOptions;
    }
}