private void LoaderComplete(InternalXmlParserObserver internalXmlParserObserver) { lock (_dataLock) { _duplicates = internalXmlParserObserver.Duplicates.ToList(); _uniqueFiles = internalXmlParserObserver.UniqueSourceFiles.ToList(); } LoadCompleted?.Invoke(this, EventArgs.Empty); }
private void InternalLoad(string filename, bool async) { var document = new XmlDocument(); document.Load(filename); var relativeDirectory = Path.GetDirectoryName(filename); var sourceFileFlyWeight = SourceFileFlyWeightFactory.CreateInstance(relativeDirectory); var loader = new InternalXmlParserObserver(sourceFileFlyWeight, document, LoaderComplete); loader.Async = async; loader.Execute(); }