PluginInstallationCancelledNotifier.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Threading;
  2. using System.Threading.Tasks;
  3. using MediaBrowser.Controller.Events;
  4. using MediaBrowser.Controller.Events.Updates;
  5. using MediaBrowser.Controller.Session;
  6. using MediaBrowser.Model.Session;
  7. namespace Jellyfin.Server.Implementations.Events.Consumers.Updates
  8. {
  9. /// <summary>
  10. /// Notifies admin users when a plugin installation is cancelled.
  11. /// </summary>
  12. public class PluginInstallationCancelledNotifier : IEventConsumer<PluginInstallationCancelledEventArgs>
  13. {
  14. private readonly ISessionManager _sessionManager;
  15. /// <summary>
  16. /// Initializes a new instance of the <see cref="PluginInstallationCancelledNotifier"/> class.
  17. /// </summary>
  18. /// <param name="sessionManager">The session manager.</param>
  19. public PluginInstallationCancelledNotifier(ISessionManager sessionManager)
  20. {
  21. _sessionManager = sessionManager;
  22. }
  23. /// <inheritdoc />
  24. public async Task OnEvent(PluginInstallationCancelledEventArgs eventArgs)
  25. {
  26. await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageInstallationCancelled, eventArgs.Argument, CancellationToken.None).ConfigureAwait(false);
  27. }
  28. }
  29. }