StartupTrigger.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Threading.Tasks;
  3. namespace MediaBrowser.Common.ScheduledTasks
  4. {
  5. /// <summary>
  6. /// Class StartupTaskTrigger
  7. /// </summary>
  8. public class StartupTrigger : ITaskTrigger
  9. {
  10. /// <summary>
  11. /// Stars waiting for the trigger action
  12. /// </summary>
  13. /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param>
  14. public async void Start(bool isApplicationStartup)
  15. {
  16. if (isApplicationStartup)
  17. {
  18. await Task.Delay(3000).ConfigureAwait(false);
  19. OnTriggered();
  20. }
  21. }
  22. /// <summary>
  23. /// Stops waiting for the trigger action
  24. /// </summary>
  25. public void Stop()
  26. {
  27. }
  28. /// <summary>
  29. /// Occurs when [triggered].
  30. /// </summary>
  31. public event EventHandler<EventArgs> Triggered;
  32. /// <summary>
  33. /// Called when [triggered].
  34. /// </summary>
  35. private void OnTriggered()
  36. {
  37. if (Triggered != null)
  38. {
  39. Triggered(this, EventArgs.Empty);
  40. }
  41. }
  42. }
  43. }