using System; using System.Threading.Tasks; namespace MediaBrowser.Common.ScheduledTasks { /// /// Class StartupTaskTrigger /// public class StartupTrigger : ITaskTrigger { public int DelayMs { get; set; } public StartupTrigger() { DelayMs = 3000; } /// /// Stars waiting for the trigger action /// /// if set to true [is application startup]. public async void Start(bool isApplicationStartup) { if (isApplicationStartup) { await Task.Delay(DelayMs).ConfigureAwait(false); OnTriggered(); } } /// /// Stops waiting for the trigger action /// public void Stop() { } /// /// Occurs when [triggered]. /// public event EventHandler Triggered; /// /// Called when [triggered]. /// private void OnTriggered() { if (Triggered != null) { Triggered(this, EventArgs.Empty); } } } }