public WSDiscoveryParser(NTParser parser) { if (null == parser) { throw new ArgumentNullException(); } mParser = parser; }
/// <summary> /// Start Testing button handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btnStartTesting_Click(object sender, EventArgs e) { if (NetworkTraceSet.LoadedTraces.All(item => NetworkTraceStatus.Parsed == item.Status)) { return; } btnStartTesting.Enabled = false; var traces = NetworkTraceSet.LoadedTraces.Where(item => NetworkTraceStatus.Parsed != item.Status).ToList(); await Task.Run(() => { foreach (var trace in traces) { ApplicationStatus.SetProgress(0); trace.Status = NetworkTraceStatus.InProgress; UpdateTracesList(); var parser = new NTParser(CTTSettings.GetProtocols(), trace); parser.OnProgressChanged += OnProgressChanged; trace.Parser = parser; parser.Run(); trace.Status = NetworkTraceStatus.Parsed; UpdateTracesList(); ApplicationStatus.SetProgress(100); } }, mTokenSource.Token); UpdateUnitList(); ApplicationStatus.SetStatus("Parsing process has been completed."); await Task.Run(() => { ConversationList.Instance.Validate(); ApplicationStatus.SetStatus("Done!"); StateManager.SetState(ApplicationState.Idle); }); }