diff --git a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs similarity index 75% rename from MediaBrowser.Api/System/ActivityLogWebSocketListener.cs rename to Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs index 39976371a9..6395b8d62f 100644 --- a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs +++ b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs @@ -5,34 +5,35 @@ using MediaBrowser.Model.Activity; using MediaBrowser.Model.Events; using Microsoft.Extensions.Logging; -namespace MediaBrowser.Api.System +namespace Jellyfin.Api.WebSocketListeners { /// /// Class SessionInfoWebSocketListener. /// public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener { - /// - /// Gets the name. - /// - /// The name. - protected override string Name => "ActivityLogEntry"; - /// /// The _kernel. /// private readonly IActivityManager _activityManager; - public ActivityLogWebSocketListener(ILogger logger, IActivityManager activityManager) : base(logger) + /// + /// Initializes a new instance of the class. + /// + /// Instance of the interface. + /// Instance of the interface. + public ActivityLogWebSocketListener(ILogger logger, IActivityManager activityManager) + : base(logger) { _activityManager = activityManager; _activityManager.EntryCreated += OnEntryCreated; } - private void OnEntryCreated(object sender, GenericEventArgs e) - { - SendData(true); - } + /// + /// Gets the name. + /// + /// The name. + protected override string Name => "ActivityLogEntry"; /// /// Gets the data to send. @@ -50,5 +51,10 @@ namespace MediaBrowser.Api.System base.Dispose(dispose); } + + private void OnEntryCreated(object sender, GenericEventArgs e) + { + SendData(true); + } } } diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs similarity index 60% rename from MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs rename to Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs index 25dd39f2de..12f815ff75 100644 --- a/MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs +++ b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs @@ -6,7 +6,7 @@ using MediaBrowser.Model.Events; using MediaBrowser.Model.Tasks; using Microsoft.Extensions.Logging; -namespace MediaBrowser.Api.ScheduledTasks +namespace Jellyfin.Api.WebSocketListeners { /// /// Class ScheduledTasksWebSocketListener. @@ -17,7 +17,21 @@ namespace MediaBrowser.Api.ScheduledTasks /// Gets or sets the task manager. /// /// The task manager. - private ITaskManager TaskManager { get; set; } + private readonly ITaskManager _taskManager; + + /// + /// Initializes a new instance of the class. + /// + /// Instance of the interface. + /// Instance of the interface. + public ScheduledTasksWebSocketListener(ILogger logger, ITaskManager taskManager) + : base(logger) + { + _taskManager = taskManager; + + _taskManager.TaskExecuting += OnTaskExecuting; + _taskManager.TaskCompleted += OnTaskCompleted; + } /// /// Gets the name. @@ -25,53 +39,42 @@ namespace MediaBrowser.Api.ScheduledTasks /// The name. protected override string Name => "ScheduledTasksInfo"; - /// - /// Initializes a new instance of the class. - /// - public ScheduledTasksWebSocketListener(ILogger logger, ITaskManager taskManager) - : base(logger) - { - TaskManager = taskManager; - - TaskManager.TaskExecuting += TaskManager_TaskExecuting; - TaskManager.TaskCompleted += TaskManager_TaskCompleted; - } - - void TaskManager_TaskCompleted(object sender, TaskCompletionEventArgs e) - { - SendData(true); - e.Task.TaskProgress -= Argument_TaskProgress; - } - - void TaskManager_TaskExecuting(object sender, GenericEventArgs e) - { - SendData(true); - e.Argument.TaskProgress += Argument_TaskProgress; - } - - void Argument_TaskProgress(object sender, GenericEventArgs e) - { - SendData(false); - } - /// /// Gets the data to send. /// /// Task{IEnumerable{TaskInfo}}. protected override Task> GetDataToSend() { - return Task.FromResult(TaskManager.ScheduledTasks + return Task.FromResult(_taskManager.ScheduledTasks .OrderBy(i => i.Name) .Select(ScheduledTaskHelpers.GetTaskInfo) .Where(i => !i.IsHidden)); } + /// protected override void Dispose(bool dispose) { - TaskManager.TaskExecuting -= TaskManager_TaskExecuting; - TaskManager.TaskCompleted -= TaskManager_TaskCompleted; + _taskManager.TaskExecuting -= OnTaskExecuting; + _taskManager.TaskCompleted -= OnTaskCompleted; base.Dispose(dispose); } + + private void OnTaskCompleted(object sender, TaskCompletionEventArgs e) + { + SendData(true); + e.Task.TaskProgress -= OnTaskProgress; + } + + private void OnTaskExecuting(object sender, GenericEventArgs e) + { + SendData(true); + e.Argument.TaskProgress += OnTaskProgress; + } + + private void OnTaskProgress(object sender, GenericEventArgs e) + { + SendData(false); + } } } diff --git a/MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs similarity index 98% rename from MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs rename to Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs index 2400d6defe..ab9f789a16 100644 --- a/MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs +++ b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs @@ -5,7 +5,7 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; using Microsoft.Extensions.Logging; -namespace MediaBrowser.Api.Sessions +namespace Jellyfin.Api.WebSocketListeners { /// /// Class SessionInfoWebSocketListener.