2021-12-06 16:44:31 -06:00
|
|
|
|
using ElectronNET.API.Interfaces;
|
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
2021-01-18 10:58:14 -06:00
|
|
|
|
|
|
|
|
|
|
namespace ElectronNET.API
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static class ServiceCollectionExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Adds the <see cref="Electron"/> Members to the Service Collection
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static IServiceCollection AddElectron(this IServiceCollection services)
|
|
|
|
|
|
=> services
|
|
|
|
|
|
// adding in this manner to ensure late binding.
|
2021-12-06 16:44:31 -06:00
|
|
|
|
// this set for backwards compatibility
|
2021-01-18 10:58:14 -06:00
|
|
|
|
.AddSingleton(provider => IpcMain.Instance)
|
|
|
|
|
|
.AddSingleton(provider => App.Instance)
|
|
|
|
|
|
.AddSingleton(provider => AutoUpdater.Instance)
|
|
|
|
|
|
.AddSingleton(provider => WindowManager.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Menu.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Dialog.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Notification.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Tray.Instance)
|
|
|
|
|
|
.AddSingleton(provider => GlobalShortcut.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Shell.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Screen.Instance)
|
|
|
|
|
|
.AddSingleton(provider => Clipboard.Instance)
|
|
|
|
|
|
.AddSingleton(provider => HostHook.Instance)
|
|
|
|
|
|
.AddSingleton(provider => PowerMonitor.Instance)
|
|
|
|
|
|
.AddSingleton(provider => NativeTheme.Instance)
|
2021-12-06 16:44:31 -06:00
|
|
|
|
.AddSingleton(provider => Dock.Instance)
|
|
|
|
|
|
// this set for proper dependency injection
|
2022-01-25 10:45:49 -06:00
|
|
|
|
.AddSingleton<IIpcMain>(_ => IpcMain.Instance)
|
|
|
|
|
|
.AddSingleton<IApp>(_ => App.Instance)
|
|
|
|
|
|
.AddSingleton<IAutoUpdater>(_ => AutoUpdater.Instance)
|
|
|
|
|
|
.AddSingleton<IWindowManager>(_ => WindowManager.Instance)
|
|
|
|
|
|
.AddSingleton<IMenu>(_ => Menu.Instance)
|
|
|
|
|
|
.AddSingleton<IDialog>(_ => Dialog.Instance)
|
|
|
|
|
|
.AddSingleton<INotification>(_ => Notification.Instance)
|
|
|
|
|
|
.AddSingleton<ITray>(_ => Tray.Instance)
|
|
|
|
|
|
.AddSingleton<IGlobalShortcut>(_ => GlobalShortcut.Instance)
|
|
|
|
|
|
.AddSingleton<IShell>(_ => Shell.Instance)
|
|
|
|
|
|
.AddSingleton<IScreen>(_ => Screen.Instance)
|
|
|
|
|
|
.AddSingleton<IClipboard>(_ => Clipboard.Instance)
|
|
|
|
|
|
.AddSingleton<IHostHook>(_ => HostHook.Instance)
|
|
|
|
|
|
.AddSingleton<IPowerMonitor>(_ => PowerMonitor.Instance)
|
|
|
|
|
|
.AddSingleton<INativeTheme>(_ => NativeTheme.Instance)
|
2022-07-28 11:51:18 +02:00
|
|
|
|
.AddSingleton<IDock>(_ => Dock.Instance);
|
2021-01-18 10:58:14 -06:00
|
|
|
|
}
|
|
|
|
|
|
}
|