aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2023-11-15 20:07:07 -0500
committerPatrick Barron <barronpm@gmail.com>2023-11-15 20:07:07 -0500
commit0ea9f713f48e433f66a95bad7bf765cdd2589fa3 (patch)
treee70fee1e0cdd33c4de3c3dee5636527f2b9ea6a0 /Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs
parentc38bfd281c9616a626eceb22ad5f5e2a4a120b86 (diff)
Document LibraryChangedNotifier
Diffstat (limited to 'Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs')
-rw-r--r--Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs50
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
{