public async Task LoadAsync(string dumpPath, AsyncOperationInfo operationInfo) { if (dumpPath != null) { await NetFrameworkUtils.ContinueAtUIThread(); var dump = await FlashDump.OpenAsync(dumpPath, operationInfo); var dataParser = new SectionedDataPacketParser( dump.DataRowDescriptors.Select(ds => new SectionedDataPacketParser.Section( ds.Key, new DataPacketParser(ds.Value))).ToArray()); var dumpReader = await FlashDumpDataParser.CreateParserAsync(dump, dataParser, operationInfo); var rowsReader = await dumpReader.InstantiateReaderAsync(operationInfo); var rowsCollection = new FileMappedPointsRowsReadOnlyCollection(rowsReader); PointsSource = new DataPointsSource(new EnhancedObservableCollection <ICurveInfo>(dataParser.Curves, new CollectionOptions(true)), rowsCollection); } }
public async Task <IFlashDumpDataParser> CreateFromRawPartsAsync(IEnumerable <OpenStreamAsyncDelegate> rawPartsProvider, IDataPacketParser dataPacketParser, AsyncOperationInfo operationInfo) { return(await FlashDumpDataParser.CreateParserAsync(rawPartsProvider, dataPacketParser, operationInfo)); }