aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Kernel.cs31
-rw-r--r--MediaBrowser.Controller/Library/LibraryManager.cs52
-rw-r--r--MediaBrowser.Controller/Library/UserManager.cs4
-rw-r--r--MediaBrowser.Controller/Updates/InstallationManager.cs10
4 files changed, 57 insertions, 40 deletions
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index d879b888b..ed49d26d8 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -12,7 +12,6 @@ using MediaBrowser.Controller.Playback;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers;
-using MediaBrowser.Controller.ScheduledTasks;
using MediaBrowser.Controller.Updates;
using MediaBrowser.Controller.Weather;
using MediaBrowser.Model.Configuration;
@@ -293,8 +292,6 @@ namespace MediaBrowser.Controller
get { return 7359; }
}
- private readonly ITaskManager _taskManager;
-
/// <summary>
/// Creates a kernel based on a Data path, which is akin to our current programdata path
/// </summary>
@@ -304,13 +301,11 @@ namespace MediaBrowser.Controller
/// <param name="taskManager">The task manager.</param>
/// <param name="logger">The logger.</param>
/// <exception cref="System.ArgumentNullException">isoManager</exception>
- public Kernel(IApplicationHost appHost, IServerApplicationPaths appPaths, IXmlSerializer xmlSerializer, ITaskManager taskManager, ILogger logger)
+ public Kernel(IApplicationHost appHost, IServerApplicationPaths appPaths, IXmlSerializer xmlSerializer, ILogger logger)
: base(appHost, appPaths, xmlSerializer, logger)
{
Instance = this;
- _taskManager = taskManager;
-
// For now there's no real way to inject this properly
BaseItem.Logger = logger;
Ratings.Logger = logger;
@@ -469,7 +464,7 @@ namespace MediaBrowser.Controller
{
DisposeFileSystemManager();
- FileSystemManager = new FileSystemManager(this, Logger, _taskManager);
+ FileSystemManager = new FileSystemManager(this, Logger, ApplicationHost.Resolve<ITaskManager>());
FileSystemManager.StartWatchers();
}
@@ -540,18 +535,6 @@ namespace MediaBrowser.Controller
var reloadLogger = config.ShowLogWindow != oldConfiguration.ShowLogWindow;
- // Figure out whether or not we should refresh people after the update is finished
- var refreshPeopleAfterUpdate = !oldConfiguration.EnableInternetProviders && config.EnableInternetProviders;
-
- // This is true if internet providers has just been turned on, or if People have just been removed from InternetProviderExcludeTypes
- if (!refreshPeopleAfterUpdate)
- {
- var oldConfigurationFetchesPeopleImages = oldConfiguration.InternetProviderExcludeTypes == null || !oldConfiguration.InternetProviderExcludeTypes.Contains(typeof(Person).Name, StringComparer.OrdinalIgnoreCase);
- var newConfigurationFetchesPeopleImages = config.InternetProviderExcludeTypes == null || !config.InternetProviderExcludeTypes.Contains(typeof(Person).Name, StringComparer.OrdinalIgnoreCase);
-
- refreshPeopleAfterUpdate = newConfigurationFetchesPeopleImages && !oldConfigurationFetchesPeopleImages;
- }
-
Configuration = config;
SaveConfiguration();
@@ -560,20 +543,10 @@ namespace MediaBrowser.Controller
ReloadLogger();
}
- TcpManager.OnApplicationConfigurationChanged(oldConfiguration, config);
-
// Validate currently executing providers, in the background
Task.Run(() =>
{
ProviderManager.ValidateCurrentlyRunningProviders();
-
- // Any number of configuration settings could change the way the library is refreshed, so do that now
- _taskManager.CancelIfRunningAndQueue<RefreshMediaLibraryTask>();
-
- if (refreshPeopleAfterUpdate)
- {
- _taskManager.CancelIfRunningAndQueue<PeopleValidationTask>();
- }
});
}
diff --git a/MediaBrowser.Controller/Library/LibraryManager.cs b/MediaBrowser.Controller/Library/LibraryManager.cs
index c0c1fe1d6..53f4af4b2 100644
--- a/MediaBrowser.Controller/Library/LibraryManager.cs
+++ b/MediaBrowser.Controller/Library/LibraryManager.cs
@@ -1,8 +1,10 @@
using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Resolvers;
+using MediaBrowser.Controller.ScheduledTasks;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MoreLinq;
@@ -20,7 +22,7 @@ namespace MediaBrowser.Controller.Library
/// <summary>
/// Class LibraryManager
/// </summary>
- public class LibraryManager : BaseManager<Kernel>
+ public class LibraryManager
{
#region LibraryChanged Event
/// <summary>
@@ -48,7 +50,7 @@ namespace MediaBrowser.Controller.Library
private void SendLibraryChangedWebSocketMessage(ChildrenChangedEventArgs args)
{
// Notify connected ui's
- Kernel.TcpManager.SendWebSocketMessage("LibraryChanged", () => DtoBuilder.GetLibraryUpdateInfo(args));
+ Kernel.ServerManager.SendWebSocketMessage("LibraryChanged", () => DtoBuilder.GetLibraryUpdateInfo(args));
}
#endregion
@@ -58,14 +60,56 @@ namespace MediaBrowser.Controller.Library
private readonly ILogger _logger;
/// <summary>
+ /// The _task manager
+ /// </summary>
+ private readonly ITaskManager _taskManager;
+
+ /// <summary>
+ /// Gets or sets the kernel.
+ /// </summary>
+ /// <value>The kernel.</value>
+ private Kernel Kernel { get; set; }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="LibraryManager" /> class.
/// </summary>
/// <param name="kernel">The kernel.</param>
/// <param name="logger">The logger.</param>
- public LibraryManager(Kernel kernel, ILogger logger)
- : base(kernel)
+ /// <param name="taskManager">The task manager.</param>
+ public LibraryManager(Kernel kernel, ILogger logger, ITaskManager taskManager)
{
+ Kernel = kernel;
_logger = logger;
+ _taskManager = taskManager;
+
+ kernel.ConfigurationUpdated += kernel_ConfigurationUpdated;
+ }
+
+ /// <summary>
+ /// Handles the ConfigurationUpdated event of the kernel control.
+ /// </summary>
+ /// <param name="sender">The source of the event.</param>
+ /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
+ void kernel_ConfigurationUpdated(object sender, EventArgs e)
+ {
+ //// Figure out whether or not we should refresh people after the update is finished
+ //var refreshPeopleAfterUpdate = !oldConfiguration.EnableInternetProviders && config.EnableInternetProviders;
+
+ //// This is true if internet providers has just been turned on, or if People have just been removed from InternetProviderExcludeTypes
+ //if (!refreshPeopleAfterUpdate)
+ //{
+ // var oldConfigurationFetchesPeopleImages = oldConfiguration.InternetProviderExcludeTypes == null || !oldConfiguration.InternetProviderExcludeTypes.Contains(typeof(Person).Name, StringComparer.OrdinalIgnoreCase);
+ // var newConfigurationFetchesPeopleImages = config.InternetProviderExcludeTypes == null || !config.InternetProviderExcludeTypes.Contains(typeof(Person).Name, StringComparer.OrdinalIgnoreCase);
+
+ // refreshPeopleAfterUpdate = newConfigurationFetchesPeopleImages && !oldConfigurationFetchesPeopleImages;
+ //}
+
+ Task.Run(() =>
+ {
+ // Any number of configuration settings could change the way the library is refreshed, so do that now
+ _taskManager.CancelIfRunningAndQueue<RefreshMediaLibraryTask>();
+ _taskManager.CancelIfRunningAndQueue<PeopleValidationTask>();
+ });
}
/// <summary>
diff --git a/MediaBrowser.Controller/Library/UserManager.cs b/MediaBrowser.Controller/Library/UserManager.cs
index 8084366b7..5340e70be 100644
--- a/MediaBrowser.Controller/Library/UserManager.cs
+++ b/MediaBrowser.Controller/Library/UserManager.cs
@@ -73,7 +73,7 @@ namespace MediaBrowser.Controller.Library
EventHelper.QueueEventIfNotNull(UserUpdated, this, new GenericEventArgs<User> { Argument = user }, _logger);
// Notify connected ui's
- Kernel.TcpManager.SendWebSocketMessage("UserUpdated", new DtoBuilder(_logger).GetDtoUser(user));
+ Kernel.ServerManager.SendWebSocketMessage("UserUpdated", new DtoBuilder(_logger).GetDtoUser(user));
}
#endregion
@@ -91,7 +91,7 @@ namespace MediaBrowser.Controller.Library
EventHelper.QueueEventIfNotNull(UserDeleted, this, new GenericEventArgs<User> { Argument = user }, _logger);
// Notify connected ui's
- Kernel.TcpManager.SendWebSocketMessage("UserDeleted", user.Id.ToString());
+ Kernel.ServerManager.SendWebSocketMessage("UserDeleted", user.Id.ToString());
}
#endregion
diff --git a/MediaBrowser.Controller/Updates/InstallationManager.cs b/MediaBrowser.Controller/Updates/InstallationManager.cs
index 8751bd427..efef87f86 100644
--- a/MediaBrowser.Controller/Updates/InstallationManager.cs
+++ b/MediaBrowser.Controller/Updates/InstallationManager.cs
@@ -49,7 +49,7 @@ namespace MediaBrowser.Controller.Updates
EventHelper.QueueEventIfNotNull(PluginUninstalled, this, new GenericEventArgs<IPlugin> { Argument = plugin }, _logger);
// Notify connected ui's
- Kernel.TcpManager.SendWebSocketMessage("PluginUninstalled", plugin.GetPluginInfo());
+ Kernel.ServerManager.SendWebSocketMessage("PluginUninstalled", plugin.GetPluginInfo());
}
#endregion
@@ -371,7 +371,7 @@ namespace MediaBrowser.Controller.Updates
var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, innerCancellationTokenSource.Token).Token;
- Kernel.TcpManager.SendWebSocketMessage("PackageInstalling", installationInfo);
+ Kernel.ServerManager.SendWebSocketMessage("PackageInstalling", installationInfo);
try
{
@@ -384,7 +384,7 @@ namespace MediaBrowser.Controller.Updates
CompletedInstallations.Add(installationInfo);
- Kernel.TcpManager.SendWebSocketMessage("PackageInstallationCompleted", installationInfo);
+ Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCompleted", installationInfo);
}
catch (OperationCanceledException)
{
@@ -395,7 +395,7 @@ namespace MediaBrowser.Controller.Updates
_logger.Info("Package installation cancelled: {0} {1}", package.name, package.versionStr);
- Kernel.TcpManager.SendWebSocketMessage("PackageInstallationCancelled", installationInfo);
+ Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCancelled", installationInfo);
throw;
}
@@ -406,7 +406,7 @@ namespace MediaBrowser.Controller.Updates
CurrentInstallations.Remove(tuple);
}
- Kernel.TcpManager.SendWebSocketMessage("PackageInstallationFailed", installationInfo);
+ Kernel.ServerManager.SendWebSocketMessage("PackageInstallationFailed", installationInfo);
throw;
}