public static async Task InitialiseAsync(string packagesPath, string sourcePortsPath) { if (packagesPath is null) { throw new ArgumentNullException(nameof(packagesPath)); } if (sourcePortsPath is null) { throw new ArgumentNullException(nameof(sourcePortsPath)); } if (Packages != null || SourcePorts != null) { throw new Exception("Attempted to re-initialise DatabaseService."); } Packages = new PackageDatabaseManager(new() { new InstalledPackageRepository(packagesPath), new BuiltInPackageRepository(), new QuaddictedPackageRepository() }); await Packages.RefreshDatabaseAsync(); SourcePorts = new SourcePortDatabaseManager(new() { new InstalledSourcePortRepository(sourcePortsPath), new BuiltInSourcePortRepository() }); await SourcePorts.RefreshDatabaseAsync(); Initialised?.Invoke(); }
public static void InitDatabases() { List <IRepository <Package> > packageProviders = new List <IRepository <Package> >() { new InstalledPackageRepository("Packages"), new BuiltInPackageRepository(), new QuaddictedPackageRepository() }; pdm = new PackageDatabaseManager("packages.json", packageProviders); pdm.LoadDatabaseAsync().Wait(); List <IRepository <SourcePort> > sourcePortProviders = new List <IRepository <SourcePort> >() { new InstalledSourcePortRepository("SourcePorts"), new BuiltInSourcePortRepository() }; spdm = new SourcePortDatabaseManager("sourceports.json", sourcePortProviders); spdm.LoadDatabaseAsync().Wait(); }