示例#1
0
        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));
 }