Exemple #1
0
        public ManualResetEventSlim WatchForOutput(Regex regex)
        {
            var wait = new OutputWait(regex);

            AddNewWait(wait);

            return wait.Signal;
        }
Exemple #2
0
        protected void AddNewWait(OutputWait wait)
        {
            lock (Waits)
                Waits.Add(wait);

            lock (FilteredOutput) {
                for (int i = 0; i < FilteredOutput.Count; i++) {
                    var ol = FilteredOutput[i];

                    if (wait.IsMatch(ol.Item2)) {
                        FilteredOutput.RemoveAt(i);

                        lock (Waits)
                            Waits.Remove(wait);

                        wait.Signal.Set();

                        return;
                    }
                }
            }
        }
Exemple #3
0
        public ManualResetEventSlim WatchForOutput(string text)
        {
            var wait = new OutputWait(text);

            AddNewWait(wait);

            return wait.Signal;
        }