public static async Task <FileSystemObserver> GetInstance(DataRepository repository) { var fso = new FileSystemObserver(repository); await fso.Initialize(); return(fso); }
private async Task Initialize(bool wipe) { Logger.Info($"Starting initialization..."); _repository = await DataRepository.GetInstance(wipe); _parsersRepository = await ParsersRepository.GetInstance(_repository); _fileSystemObserver = await FileSystemObserver.GetInstance(_repository); _searchEngine = await SearchEngine.GetInstance(_repository, _parsersRepository); _parserEngine = await ParserEngine.GetInstance(_repository, _parsersRepository); _searchEngine.ParsingStateUpdated += async(sender, args) => await _parserEngine.UpdateStates(); Logger.Info($"Initialization is finished."); }