Пример #1
0
        public WSDiscoveryParser(NTParser parser)
        {
            if (null == parser)
            {
                throw new ArgumentNullException();
            }

            mParser = parser;
        }
Пример #2
0
        /// <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);
            });
        }