using MediaBrowser.Common.Kernel; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Model.Tasks; using System.Collections.Generic; using System.ComponentModel.Composition; using System.Linq; using System.Threading.Tasks; namespace MediaBrowser.Common.Api.ScheduledTasks { /// /// Class ScheduledTasksWebSocketListener /// [Export(typeof(IWebSocketListener))] public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener, object> { /// /// Gets the name. /// /// The name. protected override string Name { get { return "ScheduledTasksInfo"; } } /// /// Gets the data to send. /// /// The state. /// Task{IEnumerable{TaskInfo}}. protected override Task> GetDataToSend(object state) { return Task.FromResult(Kernel.ScheduledTasks.OrderBy(i => i.Name) .Select(ScheduledTaskHelpers.GetTaskInfo)); } } }