Include Process into DI Mocking and interfaces

This commit is contained in:
Daniel Gidman
2022-01-25 10:45:49 -06:00
parent 1767bcd5ad
commit b8845bb402
3 changed files with 113 additions and 35 deletions

View File

@@ -15,41 +15,42 @@ namespace ElectronNET.API
=> services
// adding in this manner to ensure late binding.
// this set for backwards compatibility
.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)
.AddSingleton(provider => Dock.Instance)
.AddSingleton(provider => Process.Instance)
.AddSingleton(provider => new ApplicationSocket { Socket = BridgeConnector.Socket, })
.AddSingleton(_ => IpcMain.Instance)
.AddSingleton(_ => App.Instance)
.AddSingleton(_ => AutoUpdater.Instance)
.AddSingleton(_ => WindowManager.Instance)
.AddSingleton(_ => Menu.Instance)
.AddSingleton(_ => Dialog.Instance)
.AddSingleton(_ => Notification.Instance)
.AddSingleton(_ => Tray.Instance)
.AddSingleton(_ => GlobalShortcut.Instance)
.AddSingleton(_ => Shell.Instance)
.AddSingleton(_ => Screen.Instance)
.AddSingleton(_ => Clipboard.Instance)
.AddSingleton(_ => HostHook.Instance)
.AddSingleton(_ => PowerMonitor.Instance)
.AddSingleton(_ => NativeTheme.Instance)
.AddSingleton(_ => Dock.Instance)
.AddSingleton(_ => Process.Instance)
.AddSingleton(_ => new ApplicationSocket { Socket = BridgeConnector.Socket, })
// this set for proper dependency injection
.AddSingleton<IIpcMain>(provider => IpcMain.Instance)
.AddSingleton<IApp>(provider => App.Instance)
.AddSingleton<IAutoUpdater>(provider => AutoUpdater.Instance)
.AddSingleton<IWindowManager>(provider => WindowManager.Instance)
.AddSingleton<IMenu>(provider => Menu.Instance)
.AddSingleton<IDialog>(provider => Dialog.Instance)
.AddSingleton<INotification>(provider => Notification.Instance)
.AddSingleton<ITray>(provider => Tray.Instance)
.AddSingleton<IGlobalShortcut>(provider => GlobalShortcut.Instance)
.AddSingleton<IShell>(provider => Shell.Instance)
.AddSingleton<IScreen>(provider => Screen.Instance)
.AddSingleton<IClipboard>(provider => Clipboard.Instance)
.AddSingleton<IHostHook>(provider => HostHook.Instance)
.AddSingleton<IPowerMonitor>(provider => PowerMonitor.Instance)
.AddSingleton<INativeTheme>(provider => NativeTheme.Instance)
.AddSingleton<IDock>(provider => Dock.Instance)
.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)
.AddSingleton<IDock>(_ => Dock.Instance)
.AddSingleton<IProcess>(_ => Process.Instance)
.AddSingleton<IApplicationSocket>(provider => provider.GetService<ApplicationSocket>());
}
}