ソースを参照

Make ILibraryChangedNotifier sealed

Patrick Barron 1 年間 前
コミット
7e645dcfc0

+ 12 - 27
Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs

@@ -25,7 +25,7 @@ using Microsoft.Extensions.Logging;
 
 namespace Emby.Server.Implementations.EntryPoints
 {
-    public class LibraryChangedNotifier : IServerEntryPoint
+    public sealed class LibraryChangedNotifier : IServerEntryPoint
     {
         private readonly ILibraryManager _libraryManager;
         private readonly IServerConfigurationManager _configurationManager;
@@ -405,36 +405,21 @@ namespace Emby.Server.Implementations.EntryPoints
             return Array.Empty<T>();
         }
 
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
+        /// <inheritdoc />
         public void Dispose()
         {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources.
-        /// </summary>
-        /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool dispose)
-        {
-            if (dispose)
-            {
-                if (LibraryUpdateTimer is not null)
-                {
-                    LibraryUpdateTimer.Dispose();
-                    LibraryUpdateTimer = null;
-                }
+            _libraryManager.ItemAdded -= OnLibraryItemAdded;
+            _libraryManager.ItemUpdated -= OnLibraryItemUpdated;
+            _libraryManager.ItemRemoved -= OnLibraryItemRemoved;
 
-                _libraryManager.ItemAdded -= OnLibraryItemAdded;
-                _libraryManager.ItemUpdated -= OnLibraryItemUpdated;
-                _libraryManager.ItemRemoved -= OnLibraryItemRemoved;
+            _providerManager.RefreshCompleted -= OnProviderRefreshCompleted;
+            _providerManager.RefreshStarted -= OnProviderRefreshStarted;
+            _providerManager.RefreshProgress -= OnProviderRefreshProgress;
 
-                _providerManager.RefreshCompleted -= OnProviderRefreshCompleted;
-                _providerManager.RefreshStarted -= OnProviderRefreshStarted;
-                _providerManager.RefreshProgress -= OnProviderRefreshProgress;
+            if (LibraryUpdateTimer is not null)
+            {
+                LibraryUpdateTimer.Dispose();
+                LibraryUpdateTimer = null;
             }
         }
     }