public static IIntegreatServicesBuilder AddCSharpPluginExecutable(this IIntegreatServicesBuilder builder, string pluginExecutorAppPath)
        {
            Guard.IsNotNull(builder, nameof(builder));
            Guard.IsNotNull(pluginExecutorAppPath, nameof(pluginExecutorAppPath));

            return(builder.AddExecutableAdapter((serviceProvider) => new CSharpPluginProcessExecutableAdapter(pluginExecutorAppPath)));
        }
Esempio n. 2
0
        public static IIntegreatServicesBuilder AddExecutableAdapter <T>(this IIntegreatServicesBuilder builder, ServiceLifetime lifetime) where T : class, IProcessExecutableAdapter
        {
            Guard.IsNotNull(builder, nameof(builder));

            builder.Services.Add(new ServiceDescriptor(typeof(IProcessExecutableAdapter), typeof(T), lifetime));
            return(builder);
        }
Esempio n. 3
0
        public static IIntegreatServicesBuilder AddExecutableAdapter(this IIntegreatServicesBuilder builder, Func <IServiceProvider, IProcessExecutableAdapter> adapterFactory, ServiceLifetime lifetime)
        {
            Guard.IsNotNull(builder, nameof(builder));

            builder.Services.Add(new ServiceDescriptor(typeof(IProcessExecutableAdapter), adapterFactory, lifetime));
            return(builder);
        }
Esempio n. 4
0
        public static IIntegreatServicesBuilder AddSettings(this IIntegreatServicesBuilder builder, Func <IServiceProvider, IIntegrationSettings> settingsFactory, ServiceLifetime lifetime)
        {
            Guard.IsNotNull(builder, nameof(builder));
            Guard.IsNotNull(settingsFactory, nameof(settingsFactory));

            builder.Services.Add(new ServiceDescriptor(typeof(IIntegrationSettings), settingsFactory, lifetime));

            return(builder);
        }
Esempio n. 5
0
        public static IIntegreatServicesBuilder AddSettings(this IIntegreatServicesBuilder builder, IIntegrationSettings settings)
        {
            Guard.IsNotNull(builder, nameof(builder));
            Guard.IsNotNull(settings, nameof(settings));

            builder.Services.AddSingleton <IIntegrationSettings>(settings);

            return(builder);
        }
Esempio n. 6
0
        public static IIntegreatServicesBuilder AddJsonConfigurationSettings(this IIntegreatServicesBuilder builder, bool asSingleton)
        {
            Guard.IsNotNull(builder, nameof(builder));

            builder.Services.TryAddSingleton <IConfiguration>(new ConfigurationBuilder()
                                                              .SetBasePath(Directory.GetCurrentDirectory())
                                                              .AddJsonFile("appsettings.json", optional: false, reloadOnChange: !asSingleton)
                                                              .Build());

            builder.Services.AddCustomConfigurationSettings <IIntegrationSettings, IntegrationSettings>("Integreat", asSingleton);

            return(builder);
        }
 public static IIntegreatServicesBuilder AddSQLExecutable(this IIntegreatServicesBuilder builder)
 {
     return(builder.AddExecutableAdapter <SQLProcessExecutableAdapter>());
 }
 public static IIntegreatServicesBuilder AddCSharpPluginExecutable(this IIntegreatServicesBuilder builder)
 {
     return(AddCSharpPluginExecutable(builder, "Integreat.PluginExecutor.dll"));
 }
Esempio n. 9
0
 public static IIntegreatServicesBuilder AddExecutableAdapter(this IIntegreatServicesBuilder builder, Func <IServiceProvider, IProcessExecutableAdapter> adapterFactory)
 {
     return(AddExecutableAdapter(builder, adapterFactory, ServiceLifetime.Singleton));
 }
Esempio n. 10
0
 public static IIntegreatServicesBuilder AddSettings(this IIntegreatServicesBuilder builder, Func <IServiceProvider, IIntegrationSettings> settingsFactory)
 {
     return(AddSettings(builder, settingsFactory, ServiceLifetime.Singleton));
 }
Esempio n. 11
0
 public static IIntegreatServicesBuilder AddExecutableAdapter <T>(this IIntegreatServicesBuilder builder) where T : class, IProcessExecutableAdapter
 {
     return(AddExecutableAdapter <T>(builder, ServiceLifetime.Singleton));
 }
Esempio n. 12
0
 public static IIntegreatServicesBuilder AddJsonConfigurationSettings(this IIntegreatServicesBuilder builder)
 {
     return(AddJsonConfigurationSettings(builder, asSingleton: true));
 }
 public static IIntegreatServicesBuilder AddPowershellExecutable(this IIntegreatServicesBuilder builder)
 {
     return(builder.AddExecutableAdapter <PowershellProcessExecutableAdapter>());
 }