From 9018f8d8be10bc4812f7d1bd230a1516eca61eea Mon Sep 17 00:00:00 2001 From: telans Date: Tue, 16 Jun 2020 10:37:52 +1200 Subject: Add full stop at end of comments (SA1629) --- MediaBrowser.Api/System/ActivityLogWebSocketListener.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Api/System/ActivityLogWebSocketListener.cs') diff --git a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs b/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs index 8e4860be4..39976371a 100644 --- a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs +++ b/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs @@ -8,7 +8,7 @@ using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.System { /// - /// Class SessionInfoWebSocketListener + /// Class SessionInfoWebSocketListener. /// public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener { @@ -19,7 +19,7 @@ namespace MediaBrowser.Api.System protected override string Name => "ActivityLogEntry"; /// - /// The _kernel + /// The _kernel. /// private readonly IActivityManager _activityManager; -- cgit v1.2.3 From cfce1dba088dca44f5cf1ef3372738422a43d1c7 Mon Sep 17 00:00:00 2001 From: crobibero Date: Mon, 3 Aug 2020 13:09:32 -0600 Subject: move WebSocket listeners to Jellyfin.Api --- .../ActivityLogWebSocketListener.cs | 60 ++++++++++++ .../ScheduledTasksWebSocketListener.cs | 80 ++++++++++++++++ .../SessionInfoWebSocketListener.cs | 101 +++++++++++++++++++++ .../ScheduledTasksWebSocketListener.cs | 77 ---------------- .../Sessions/SessionInfoWebSocketListener.cs | 101 --------------------- .../System/ActivityLogWebSocketListener.cs | 54 ----------- 6 files changed, 241 insertions(+), 232 deletions(-) create mode 100644 Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs create mode 100644 Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs create mode 100644 Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs delete mode 100644 MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs delete mode 100644 MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs delete mode 100644 MediaBrowser.Api/System/ActivityLogWebSocketListener.cs (limited to 'MediaBrowser.Api/System/ActivityLogWebSocketListener.cs') diff --git a/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs new file mode 100644 index 000000000..6395b8d62 --- /dev/null +++ b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs @@ -0,0 +1,60 @@ +using System; +using System.Threading.Tasks; +using MediaBrowser.Controller.Net; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Events; +using Microsoft.Extensions.Logging; + +namespace Jellyfin.Api.WebSocketListeners +{ + /// + /// Class SessionInfoWebSocketListener. + /// + public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener + { + /// + /// The _kernel. + /// + private readonly IActivityManager _activityManager; + + /// + /// 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; + } + + /// + /// Gets the name. + /// + /// The name. + protected override string Name => "ActivityLogEntry"; + + /// + /// Gets the data to send. + /// + /// Task{SystemInfo}. + protected override Task GetDataToSend() + { + return Task.FromResult(Array.Empty()); + } + + /// + protected override void Dispose(bool dispose) + { + _activityManager.EntryCreated -= OnEntryCreated; + + base.Dispose(dispose); + } + + private void OnEntryCreated(object sender, GenericEventArgs e) + { + SendData(true); + } + } +} diff --git a/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs new file mode 100644 index 000000000..12f815ff7 --- /dev/null +++ b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs @@ -0,0 +1,80 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using MediaBrowser.Controller.Net; +using MediaBrowser.Model.Events; +using MediaBrowser.Model.Tasks; +using Microsoft.Extensions.Logging; + +namespace Jellyfin.Api.WebSocketListeners +{ + /// + /// Class ScheduledTasksWebSocketListener. + /// + public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener, WebSocketListenerState> + { + /// + /// Gets or sets the task manager. + /// + /// The task manager. + 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. + /// + /// The name. + protected override string Name => "ScheduledTasksInfo"; + + /// + /// Gets the data to send. + /// + /// Task{IEnumerable{TaskInfo}}. + protected override Task> GetDataToSend() + { + return Task.FromResult(_taskManager.ScheduledTasks + .OrderBy(i => i.Name) + .Select(ScheduledTaskHelpers.GetTaskInfo) + .Where(i => !i.IsHidden)); + } + + /// + protected override void Dispose(bool dispose) + { + _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/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs new file mode 100644 index 000000000..ab9f789a1 --- /dev/null +++ b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs @@ -0,0 +1,101 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Net; +using MediaBrowser.Controller.Session; +using Microsoft.Extensions.Logging; + +namespace Jellyfin.Api.WebSocketListeners +{ + /// + /// Class SessionInfoWebSocketListener. + /// + public class SessionInfoWebSocketListener : BasePeriodicWebSocketListener, WebSocketListenerState> + { + /// + /// Gets the name. + /// + /// The name. + protected override string Name => "Sessions"; + + /// + /// The _kernel. + /// + private readonly ISessionManager _sessionManager; + + /// + /// Initializes a new instance of the class. + /// + public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager) + : base(logger) + { + _sessionManager = sessionManager; + + _sessionManager.SessionStarted += OnSessionManagerSessionStarted; + _sessionManager.SessionEnded += OnSessionManagerSessionEnded; + _sessionManager.PlaybackStart += OnSessionManagerPlaybackStart; + _sessionManager.PlaybackStopped += OnSessionManagerPlaybackStopped; + _sessionManager.PlaybackProgress += OnSessionManagerPlaybackProgress; + _sessionManager.CapabilitiesChanged += OnSessionManagerCapabilitiesChanged; + _sessionManager.SessionActivity += OnSessionManagerSessionActivity; + } + + private async void OnSessionManagerSessionActivity(object sender, SessionEventArgs e) + { + await SendData(false).ConfigureAwait(false); + } + + private async void OnSessionManagerCapabilitiesChanged(object sender, SessionEventArgs e) + { + await SendData(true).ConfigureAwait(false); + } + + private async void OnSessionManagerPlaybackProgress(object sender, PlaybackProgressEventArgs e) + { + await SendData(!e.IsAutomated).ConfigureAwait(false); + } + + private async void OnSessionManagerPlaybackStopped(object sender, PlaybackStopEventArgs e) + { + await SendData(true).ConfigureAwait(false); + } + + private async void OnSessionManagerPlaybackStart(object sender, PlaybackProgressEventArgs e) + { + await SendData(true).ConfigureAwait(false); + } + + private async void OnSessionManagerSessionEnded(object sender, SessionEventArgs e) + { + await SendData(true).ConfigureAwait(false); + } + + private async void OnSessionManagerSessionStarted(object sender, SessionEventArgs e) + { + await SendData(true).ConfigureAwait(false); + } + + /// + /// Gets the data to send. + /// + /// Task{SystemInfo}. + protected override Task> GetDataToSend() + { + return Task.FromResult(_sessionManager.Sessions); + } + + /// + protected override void Dispose(bool dispose) + { + _sessionManager.SessionStarted -= OnSessionManagerSessionStarted; + _sessionManager.SessionEnded -= OnSessionManagerSessionEnded; + _sessionManager.PlaybackStart -= OnSessionManagerPlaybackStart; + _sessionManager.PlaybackStopped -= OnSessionManagerPlaybackStopped; + _sessionManager.PlaybackProgress -= OnSessionManagerPlaybackProgress; + _sessionManager.CapabilitiesChanged -= OnSessionManagerCapabilitiesChanged; + _sessionManager.SessionActivity -= OnSessionManagerSessionActivity; + + base.Dispose(dispose); + } + } +} diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs deleted file mode 100644 index 25dd39f2d..000000000 --- a/MediaBrowser.Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Events; -using MediaBrowser.Model.Tasks; -using Microsoft.Extensions.Logging; - -namespace MediaBrowser.Api.ScheduledTasks -{ - /// - /// Class ScheduledTasksWebSocketListener. - /// - public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener, WebSocketListenerState> - { - /// - /// Gets or sets the task manager. - /// - /// The task manager. - private ITaskManager TaskManager { get; set; } - - /// - /// Gets the name. - /// - /// 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 - .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; - - base.Dispose(dispose); - } - } -} diff --git a/MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs b/MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs deleted file mode 100644 index 2400d6def..000000000 --- a/MediaBrowser.Api/Sessions/SessionInfoWebSocketListener.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Net; -using MediaBrowser.Controller.Session; -using Microsoft.Extensions.Logging; - -namespace MediaBrowser.Api.Sessions -{ - /// - /// Class SessionInfoWebSocketListener. - /// - public class SessionInfoWebSocketListener : BasePeriodicWebSocketListener, WebSocketListenerState> - { - /// - /// Gets the name. - /// - /// The name. - protected override string Name => "Sessions"; - - /// - /// The _kernel. - /// - private readonly ISessionManager _sessionManager; - - /// - /// Initializes a new instance of the class. - /// - public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager) - : base(logger) - { - _sessionManager = sessionManager; - - _sessionManager.SessionStarted += OnSessionManagerSessionStarted; - _sessionManager.SessionEnded += OnSessionManagerSessionEnded; - _sessionManager.PlaybackStart += OnSessionManagerPlaybackStart; - _sessionManager.PlaybackStopped += OnSessionManagerPlaybackStopped; - _sessionManager.PlaybackProgress += OnSessionManagerPlaybackProgress; - _sessionManager.CapabilitiesChanged += OnSessionManagerCapabilitiesChanged; - _sessionManager.SessionActivity += OnSessionManagerSessionActivity; - } - - private async void OnSessionManagerSessionActivity(object sender, SessionEventArgs e) - { - await SendData(false).ConfigureAwait(false); - } - - private async void OnSessionManagerCapabilitiesChanged(object sender, SessionEventArgs e) - { - await SendData(true).ConfigureAwait(false); - } - - private async void OnSessionManagerPlaybackProgress(object sender, PlaybackProgressEventArgs e) - { - await SendData(!e.IsAutomated).ConfigureAwait(false); - } - - private async void OnSessionManagerPlaybackStopped(object sender, PlaybackStopEventArgs e) - { - await SendData(true).ConfigureAwait(false); - } - - private async void OnSessionManagerPlaybackStart(object sender, PlaybackProgressEventArgs e) - { - await SendData(true).ConfigureAwait(false); - } - - private async void OnSessionManagerSessionEnded(object sender, SessionEventArgs e) - { - await SendData(true).ConfigureAwait(false); - } - - private async void OnSessionManagerSessionStarted(object sender, SessionEventArgs e) - { - await SendData(true).ConfigureAwait(false); - } - - /// - /// Gets the data to send. - /// - /// Task{SystemInfo}. - protected override Task> GetDataToSend() - { - return Task.FromResult(_sessionManager.Sessions); - } - - /// - protected override void Dispose(bool dispose) - { - _sessionManager.SessionStarted -= OnSessionManagerSessionStarted; - _sessionManager.SessionEnded -= OnSessionManagerSessionEnded; - _sessionManager.PlaybackStart -= OnSessionManagerPlaybackStart; - _sessionManager.PlaybackStopped -= OnSessionManagerPlaybackStopped; - _sessionManager.PlaybackProgress -= OnSessionManagerPlaybackProgress; - _sessionManager.CapabilitiesChanged -= OnSessionManagerCapabilitiesChanged; - _sessionManager.SessionActivity -= OnSessionManagerSessionActivity; - - base.Dispose(dispose); - } - } -} diff --git a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs b/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs deleted file mode 100644 index 39976371a..000000000 --- a/MediaBrowser.Api/System/ActivityLogWebSocketListener.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Threading.Tasks; -using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Activity; -using MediaBrowser.Model.Events; -using Microsoft.Extensions.Logging; - -namespace MediaBrowser.Api.System -{ - /// - /// 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) - { - _activityManager = activityManager; - _activityManager.EntryCreated += OnEntryCreated; - } - - private void OnEntryCreated(object sender, GenericEventArgs e) - { - SendData(true); - } - - /// - /// Gets the data to send. - /// - /// Task{SystemInfo}. - protected override Task GetDataToSend() - { - return Task.FromResult(Array.Empty()); - } - - /// - protected override void Dispose(bool dispose) - { - _activityManager.EntryCreated -= OnEntryCreated; - - base.Dispose(dispose); - } - } -} -- cgit v1.2.3