MockPollComponent.cs
36 lines
| 1.1 KiB
| text/x-csharp
|
CSharpLexer
cin
|
r289 | using System; | |
using System.Threading; | |||
using System.Threading.Tasks; | |||
using Implab.Components; | |||
namespace Implab.Test { | |||
public class MockPollComponent : PollingComponent { | |||
public Func<CancellationToken,Task> PollWorker { get; set;} | |||
public Func<CancellationToken, Task> StartWorker { get; set; } | |||
public Func<CancellationToken, Task> StopWorker { get; set; } | |||
public MockPollComponent(bool initialized) : base(initialized) { | |||
} | |||
protected async override Task Poll(CancellationToken ct) { | |||
if(PollWorker!= null) | |||
await PollWorker.Invoke(ct); | |||
} | |||
protected async override Task StopInternalAsync(CancellationToken ct) { | |||
await base.StopInternalAsync(ct); | |||
if (StopWorker != null) | |||
await StopWorker.Invoke(ct); | |||
} | |||
protected async override Task StartInternalAsync(CancellationToken ct) { | |||
await base.StartInternalAsync(ct); | |||
if (StartWorker != null) | |||
await StartWorker.Invoke(ct); | |||
} | |||
} | |||
} |