private void RegisterDependencies() { DependencyManager.LogWriter = _logWriter; // Providers var configurationReader = new ConfigurationReader(); var credentialsProvider = new CredentialsProvider(); var fileIoProvider = new FileIoProvider(); var registryProvider = new RegistryProvider(); var userProvider = new UserProvider(); var windowsApiProvider = new WindowsApiProvider(); var windowsServiceProviderFactory = new WindowsServiceProviderFactory(); var powerShellProvider = new PowerShellProvider(); // Services var fileManager = new FileManager(fileIoProvider, windowsApiProvider, credentialsProvider); DependencyManager.FileManager = fileManager; DependencyManager.HostsFileEditor = new HostsFileEditor(fileIoProvider, configurationReader); var registryEditor = new RegistryEditor(windowsApiProvider, registryProvider, userProvider); DependencyManager.RegistryEditor = registryEditor; DependencyManager.WindowsServiceManager = new WindowsServiceManager(windowsServiceProviderFactory, registryEditor, fileManager, configurationReader); DependencyManager.WindowsPackageManager = new WindowsPackageManager(powerShellProvider, configurationReader); }
private void RegisterDependencies() { DependencyManager.LogWriter = _logWriter; var appSettings = GetAppSettings(); // Providers var credentialsProvider = new CredentialsProvider(); var fileIoProvider = new FileIoProvider(); var registryProvider = new RegistryProvider(); var userProvider = new UserProvider(); var windowsApiProvider = new WindowsApiProvider(); var windowsServiceProviderFactory = new WindowsServiceProviderFactory(); var powerShellProvider = new PowerShellProvider(); var windowsTaskProvider = new WindowsTaskProvider(); // Services var fileManager = new FileManager(fileIoProvider, windowsApiProvider, credentialsProvider); DependencyManager.FileManager = fileManager; DependencyManager.HostsFileEditor = new HostsFileEditor(fileIoProvider, appSettings.WindowsUpdateUrls); var registryEditor = new RegistryEditor(windowsApiProvider, registryProvider, userProvider); DependencyManager.RegistryEditor = registryEditor; DependencyManager.WindowsServiceManager = new WindowsServiceManager(windowsServiceProviderFactory, registryEditor, fileManager, appSettings.WindowsServices); DependencyManager.WindowsPackageManager = new WindowsPackageManager(powerShellProvider, appSettings.Declutter); DependencyManager.WindowsTaskManager = new WindowsTaskManager(windowsTaskProvider, appSettings.WindowsTasks); }