alielie
2026-09-10 9ec80cafc23f5ee3278cacce3c9f86f4087b435a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.ComponentModel;
using System.Threading;
 
namespace OpenTap.Plugins.BasicSteps
{
    public abstract class LoopTestStep : TestStep
    {
        protected CancellationTokenSource breakLoopToken { get; private set; }
 
        [Browsable(false)]
        protected CancellationToken BreakLoopRequested => breakLoopToken.Token;
 
        public LoopTestStep()
        {
            breakLoopToken = new CancellationTokenSource();
        }
        
        public void BreakLoop()
        {
            breakLoopToken.Cancel();
        }
 
        /// <summary> Always call base.Run in LoopTestStep inheritors. </summary>
        protected override void RunDetail()
        {
            breakLoopToken = new CancellationTokenSource();
        }
    }
}