diff options
| author | Patrick Barron <barronpm@gmail.com> | 2023-11-15 20:07:07 -0500 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2023-11-15 20:07:07 -0500 |
| commit | 0ea9f713f48e433f66a95bad7bf765cdd2589fa3 (patch) | |
| tree | e70fee1e0cdd33c4de3c3dee5636527f2b9ea6a0 /Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs | |
| parent | c38bfd281c9616a626eceb22ad5f5e2a4a120b86 (diff) | |
Document LibraryChangedNotifier
Diffstat (limited to 'Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs')
| -rw-r--r-- | Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs | 50 |
1 files changed, 13 insertions, 37 deletions
diff --git a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs index 40dc00e1a..8e0f37d89 100644 --- a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs @@ -1,7 +1,5 @@ #nullable disable -#pragma warning disable CS1591 - using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -25,6 +23,9 @@ using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.EntryPoints; +/// <summary> +/// A <see cref="IServerEntryPoint"/> that notifies users when libraries are updated. +/// </summary> public sealed class LibraryChangedNotifier : IServerEntryPoint { private readonly ILibraryManager _libraryManager; @@ -42,6 +43,15 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint private readonly List<BaseItem> _itemsUpdated = new(); private readonly ConcurrentDictionary<Guid, DateTime> _lastProgressMessageTimes = new(); + /// <summary> + /// Initializes a new instance of the <see cref="LibraryChangedNotifier"/> class. + /// </summary> + /// <param name="libraryManager">The <see cref="ILibraryManager"/>.</param> + /// <param name="configurationManager">The <see cref="IServerConfigurationManager"/>.</param> + /// <param name="sessionManager">The <see cref="ISessionManager"/>.</param> + /// <param name="userManager">The <see cref="IUserManager"/>.</param> + /// <param name="logger">The <see cref="ILogger"/>.</param> + /// <param name="providerManager">The <see cref="IProviderManager"/>.</param> public LibraryChangedNotifier( ILibraryManager libraryManager, IServerConfigurationManager configurationManager, @@ -58,12 +68,9 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint _providerManager = providerManager; } - /// <summary> - /// Gets or sets the library update timer. - /// </summary> - /// <value>The library update timer.</value> private Timer LibraryUpdateTimer { get; set; } + /// <inheritdoc /> public Task RunAsync() { _libraryManager.ItemAdded += OnLibraryItemAdded; @@ -184,10 +191,6 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint } } - /// <summary> - /// Libraries the update timer callback. - /// </summary> - /// <param name="state">The state.</param> private async void LibraryUpdateTimerCallback(object state) { List<Folder> foldersAddedTo; @@ -230,15 +233,6 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint await SendChangeNotifications(itemsAdded, itemsUpdated, itemsRemoved, foldersAddedTo, foldersRemovedFrom, CancellationToken.None).ConfigureAwait(false); } - /// <summary> - /// Sends the change notifications. - /// </summary> - /// <param name="itemsAdded">The items added.</param> - /// <param name="itemsUpdated">The items updated.</param> - /// <param name="itemsRemoved">The items removed.</param> - /// <param name="foldersAddedTo">The folders added to.</param> - /// <param name="foldersRemovedFrom">The folders removed from.</param> - /// <param name="cancellationToken">The cancellation token.</param> private async Task SendChangeNotifications( List<BaseItem> itemsAdded, List<BaseItem> itemsUpdated, @@ -288,16 +282,6 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint } } - /// <summary> - /// Gets the library update info. - /// </summary> - /// <param name="itemsAdded">The items added.</param> - /// <param name="itemsUpdated">The items updated.</param> - /// <param name="itemsRemoved">The items removed.</param> - /// <param name="foldersAddedTo">The folders added to.</param> - /// <param name="foldersRemovedFrom">The folders removed from.</param> - /// <param name="userId">The user id.</param> - /// <returns>LibraryUpdateInfo.</returns> private LibraryUpdateInfo GetLibraryUpdateInfo( List<BaseItem> itemsAdded, List<BaseItem> itemsUpdated, @@ -379,14 +363,6 @@ public sealed class LibraryChangedNotifier : IServerEntryPoint return list.Distinct(StringComparer.Ordinal); } - /// <summary> - /// Translates the physical item to user library. - /// </summary> - /// <typeparam name="T">The type of item.</typeparam> - /// <param name="item">The item.</param> - /// <param name="user">The user.</param> - /// <param name="includeIfNotFound">if set to <c>true</c> [include if not found].</param> - /// <returns>IEnumerable{``0}.</returns> private IEnumerable<T> TranslatePhysicalItemToUserLibrary<T>(T item, User user, bool includeIfNotFound = false) where T : BaseItem { |
