From fe3323a492a35cae736350e896afd077e13e111d Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Fri, 1 Mar 2013 16:22:34 -0500 Subject: [PATCH] fixes around http response caching, updated the mb icon in the dashboard, and isolated web socket events --- .../HttpServer/BaseRestService.cs | 14 +- .../ScheduledTasks/ScheduledTaskWorker.cs | 6 + .../ScheduledTasks/TaskManager.cs | 2 +- MediaBrowser.Common/Kernel/BaseKernel.cs | 9 +- MediaBrowser.Common/Kernel/IKernel.cs | 11 +- .../MediaBrowser.Common.csproj | 1 - MediaBrowser.Common/Plugins/BasePlugin.cs | 14 +- MediaBrowser.Common/Plugins/BaseUiPlugin.cs | 30 --- MediaBrowser.Common/Plugins/IPlugin.cs | 6 - MediaBrowser.Controller/Kernel.cs | 31 +-- MediaBrowser.Controller/Library/DtoBuilder.cs | 12 +- .../Library/ILibraryManager.cs | 10 + .../Updates/InstallationManager.cs | 18 +- .../Library/LibraryManager.cs | 50 +++-- .../Library/UserManager.cs | 10 +- .../ApplicationHost.cs | 45 +++- .../MediaBrowser.ServerApplication.csproj | 1 + .../WebSocketEvents.cs | 199 ++++++++++++++++++ .../Html/css/images/mblogoicon.png | Bin 42128 -> 99074 bytes MediaBrowser.WebDashboard/Html/css/site.css | 1 + 20 files changed, 337 insertions(+), 133 deletions(-) delete mode 100644 MediaBrowser.Common/Plugins/BaseUiPlugin.cs create mode 100644 MediaBrowser.ServerApplication/WebSocketEvents.cs diff --git a/MediaBrowser.Common.Implementations/HttpServer/BaseRestService.cs b/MediaBrowser.Common.Implementations/HttpServer/BaseRestService.cs index 65195c52ba..1c64194a62 100644 --- a/MediaBrowser.Common.Implementations/HttpServer/BaseRestService.cs +++ b/MediaBrowser.Common.Implementations/HttpServer/BaseRestService.cs @@ -11,7 +11,6 @@ using System; using System.Globalization; using System.IO; using System.Linq; -using System.Net; using System.Threading.Tasks; using MimeTypes = MediaBrowser.Common.Net.MimeTypes; @@ -94,7 +93,8 @@ namespace MediaBrowser.Common.Implementations.HttpServer if (result != null) { - return result; + // Return null so that service stack won't do anything + return null; } return ToOptimizedResult(factoryFn()); @@ -129,7 +129,8 @@ namespace MediaBrowser.Common.Implementations.HttpServer if (result != null) { - return result; + // Return null so that service stack won't do anything + return null; } return factoryFn(); @@ -192,7 +193,8 @@ namespace MediaBrowser.Common.Implementations.HttpServer if (result != null) { - return result; + // Return null so that service stack won't do anything + return null; } var compress = ShouldCompressResponse(contentType); @@ -299,7 +301,9 @@ namespace MediaBrowser.Common.Implementations.HttpServer Response.ContentType = contentType; } - return new HttpResult(new byte[] { }, HttpStatusCode.NotModified); + Response.StatusCode = 304; + + return new byte[]{}; } SetCachingHeaders(cacheKeyString, lastDateModified, cacheDuration); diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index e618b6f552..eada385564 100644 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -367,6 +367,12 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks OnTaskCompleted(startTime, endTime, status); } + /// + /// Executes the task. + /// + /// The cancellation token. + /// The progress. + /// Task. private Task ExecuteTask(CancellationToken cancellationToken, IProgress progress) { return Task.Run(async () => await ScheduledTask.Execute(cancellationToken, progress).ConfigureAwait(false)); diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs index 335820e1cd..efd3478a1e 100644 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs +++ b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs @@ -100,7 +100,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks QueueScheduledTask(scheduledTask); } - + /// /// Queues the scheduled task. /// diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs index 6183c28396..85d541f097 100644 --- a/MediaBrowser.Common/Kernel/BaseKernel.cs +++ b/MediaBrowser.Common/Kernel/BaseKernel.cs @@ -23,6 +23,11 @@ namespace MediaBrowser.Common.Kernel where TConfigurationType : BaseApplicationConfiguration, new() where TApplicationPathsType : IApplicationPaths { + /// + /// Occurs when [has pending restart changed]. + /// + public event EventHandler HasPendingRestartChanged; + #region ConfigurationUpdated Event /// /// Occurs when [configuration updated]. @@ -126,7 +131,7 @@ namespace MediaBrowser.Common.Kernel /// Gets or sets the TCP manager. /// /// The TCP manager. - public IServerManager ServerManager { get; private set; } + private IServerManager ServerManager { get; set; } /// /// Gets the plug-in security manager. @@ -284,7 +289,7 @@ namespace MediaBrowser.Common.Kernel { HasPendingRestart = true; - ServerManager.SendWebSocketMessage("HasPendingRestartChanged", GetSystemInfo()); + EventHelper.QueueEventIfNotNull(HasPendingRestartChanged, this, EventArgs.Empty, Logger); } /// diff --git a/MediaBrowser.Common/Kernel/IKernel.cs b/MediaBrowser.Common/Kernel/IKernel.cs index dac94cee26..d02f0af209 100644 --- a/MediaBrowser.Common/Kernel/IKernel.cs +++ b/MediaBrowser.Common/Kernel/IKernel.cs @@ -13,6 +13,11 @@ namespace MediaBrowser.Common.Kernel /// public interface IKernel : IDisposable { + /// + /// Occurs when [has pending restart changed]. + /// + event EventHandler HasPendingRestartChanged; + /// /// Gets the application paths. /// @@ -84,12 +89,6 @@ namespace MediaBrowser.Common.Kernel /// The HTTP server URL prefix. string HttpServerUrlPrefix { get; } - /// - /// Gets the TCP manager. - /// - /// The TCP manager. - IServerManager ServerManager { get; } - /// /// Gets the plug-in security manager. /// diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj index 30718ab4b9..c8543168f5 100644 --- a/MediaBrowser.Common/MediaBrowser.Common.csproj +++ b/MediaBrowser.Common/MediaBrowser.Common.csproj @@ -79,7 +79,6 @@ - diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs index 72c83a5cee..56da543f05 100644 --- a/MediaBrowser.Common/Plugins/BasePlugin.cs +++ b/MediaBrowser.Common/Plugins/BasePlugin.cs @@ -251,18 +251,6 @@ namespace MediaBrowser.Common.Plugins } } - /// - /// Returns true or false indicating if the plugin should be downloaded and run within the Ui. - /// - /// true if [download to UI]; otherwise, false. - public virtual bool DownloadToUi - { - get - { - return false; - } - } - /// /// Gets the logger. /// @@ -422,7 +410,7 @@ namespace MediaBrowser.Common.Plugins var info = new PluginInfo { Name = Name, - DownloadToUI = DownloadToUi, + DownloadToUI = this is IUIPlugin, Version = Version.ToString(), AssemblyFileName = AssemblyFileName, ConfigurationDateLastModified = ConfigurationDateLastModified, diff --git a/MediaBrowser.Common/Plugins/BaseUiPlugin.cs b/MediaBrowser.Common/Plugins/BaseUiPlugin.cs deleted file mode 100644 index 070f56983f..0000000000 --- a/MediaBrowser.Common/Plugins/BaseUiPlugin.cs +++ /dev/null @@ -1,30 +0,0 @@ -using MediaBrowser.Model.Plugins; -using System; - -namespace MediaBrowser.Common.Plugins -{ - /// - /// Represents a common base class for any plugin that has ui components - /// - public abstract class BaseUiPlugin : BasePlugin, IUIPlugin - where TConfigurationType : BasePluginConfiguration - { - /// - /// Returns true or false indicating if the plugin should be downloaded and run within the Ui. - /// - /// true if [download to UI]; otherwise, false. - public sealed override bool DownloadToUi - { - get - { - return true; - } - } - - /// - /// Gets the minimum required UI version. - /// - /// The minimum required UI version. - public abstract Version MinimumRequiredUIVersion { get; } - } -} diff --git a/MediaBrowser.Common/Plugins/IPlugin.cs b/MediaBrowser.Common/Plugins/IPlugin.cs index 1b25cdcb18..7d5fddb9ae 100644 --- a/MediaBrowser.Common/Plugins/IPlugin.cs +++ b/MediaBrowser.Common/Plugins/IPlugin.cs @@ -92,12 +92,6 @@ namespace MediaBrowser.Common.Plugins /// The data folder path. string DataFolderPath { get; } - /// - /// Returns true or false indicating if the plugin should be downloaded and run within the Ui. - /// - /// true if [download to UI]; otherwise, false. - bool DownloadToUi { get; } - /// /// Gets the logger. /// diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs index 46f4a33293..275b7868b1 100644 --- a/MediaBrowser.Controller/Kernel.cs +++ b/MediaBrowser.Controller/Kernel.cs @@ -10,7 +10,6 @@ using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Playback; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Providers; -using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Updates; using MediaBrowser.Controller.Weather; using MediaBrowser.Model.Configuration; @@ -52,7 +51,7 @@ namespace MediaBrowser.Controller /// Gets the installation manager. /// /// The installation manager. - public InstallationManager InstallationManager { get; private set; } + public InstallationManager InstallationManager { get; set; } /// /// Gets or sets the file system manager. @@ -112,18 +111,6 @@ namespace MediaBrowser.Controller /// The image enhancers. public IEnumerable ImageEnhancers { get; private set; } - /// - /// Gets the list of currently registered entity resolvers - /// - /// The entity resolvers enumerable. - public IEnumerable EntityResolvers { get; private set; } - - /// - /// Gets the list of BasePluginFolders added by plugins - /// - /// The plugin folders. - public IEnumerable PluginFolderCreators { get; private set; } - /// /// Gets the list of available user repositories /// @@ -154,12 +141,6 @@ namespace MediaBrowser.Controller /// The item repository. public IItemRepository ItemRepository { get; private set; } - /// - /// Gets the list of available item repositories - /// - /// The user data repositories. - private IEnumerable UserDataRepositories { get; set; } - /// /// Gets the list of available DisplayPreferencesRepositories /// @@ -167,10 +148,10 @@ namespace MediaBrowser.Controller private IEnumerable DisplayPreferencesRepositories { get; set; } /// - /// Gets the list of entity resolution ignore rules + /// Gets the list of available item repositories /// - /// The entity resolution ignore rules. - public IEnumerable EntityResolutionIgnoreRules { get; private set; } + /// The user data repositories. + private IEnumerable UserDataRepositories { get; set; } /// /// Gets the active user data repository @@ -217,7 +198,6 @@ namespace MediaBrowser.Controller BaseItem.LibraryManager = ApplicationHost.Resolve(); User.UserManager = ApplicationHost.Resolve(); - InstallationManager = (InstallationManager)ApplicationHost.CreateInstance(typeof(InstallationManager)); FFMpegManager = (FFMpegManager)ApplicationHost.CreateInstance(typeof(FFMpegManager)); ImageManager = (ImageManager)ApplicationHost.CreateInstance(typeof(ImageManager)); ProviderManager = (ProviderManager)ApplicationHost.CreateInstance(typeof(ProviderManager)); @@ -225,7 +205,6 @@ namespace MediaBrowser.Controller base.FindParts(); - EntityResolutionIgnoreRules = ApplicationHost.GetExports(); UserDataRepositories = ApplicationHost.GetExports(); UserRepositories = ApplicationHost.GetExports(); DisplayPreferencesRepositories = ApplicationHost.GetExports(); @@ -234,9 +213,7 @@ namespace MediaBrowser.Controller IntroProviders = ApplicationHost.GetExports(); PluginConfigurationPages = ApplicationHost.GetExports(); ImageEnhancers = ApplicationHost.GetExports().OrderBy(e => e.Priority).ToArray(); - PluginFolderCreators = ApplicationHost.GetExports(); StringFiles = ApplicationHost.GetExports(); - EntityResolvers = ApplicationHost.GetExports().OrderBy(e => e.Priority).ToArray(); MetadataProviders = ApplicationHost.GetExports().OrderBy(e => e.Priority).ToArray(); } diff --git a/MediaBrowser.Controller/Library/DtoBuilder.cs b/MediaBrowser.Controller/Library/DtoBuilder.cs index c3fa38ebfa..0a892cbfb8 100644 --- a/MediaBrowser.Controller/Library/DtoBuilder.cs +++ b/MediaBrowser.Controller/Library/DtoBuilder.cs @@ -24,11 +24,11 @@ namespace MediaBrowser.Controller.Library /// const string IndexFolderDelimeter = "-index-"; - private ILogger Logger; + private readonly ILogger _logger; public DtoBuilder(ILogger logger) { - Logger = logger; + _logger = logger; } /// @@ -62,7 +62,7 @@ namespace MediaBrowser.Controller.Library catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - Logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); + _logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); } } @@ -124,7 +124,7 @@ namespace MediaBrowser.Controller.Library catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - Logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); + _logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); } } @@ -219,7 +219,7 @@ namespace MediaBrowser.Controller.Library } catch (FileNotFoundException) { - Logger.Error("Image file does not exist: {0}", path); + _logger.Error("Image file does not exist: {0}", path); return; } @@ -581,7 +581,7 @@ namespace MediaBrowser.Controller.Library } catch (IOException ex) { - Logger.ErrorException("Error getting person {0}", ex, c.Name); + _logger.ErrorException("Error getting person {0}", ex, c.Name); return null; } }) diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index a013b2b47c..721b5c216e 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -4,6 +4,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.IO; +using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.Library @@ -141,5 +142,14 @@ namespace MediaBrowser.Controller.Library /// The user id. /// BaseItem. BaseItem GetItemById(Guid id, Guid userId); + + /// + /// Adds the parts. + /// + /// The rules. + /// The plugin folders. + /// The resolvers. + void AddParts(IEnumerable rules, IEnumerable pluginFolders, + IEnumerable resolvers); } } \ No newline at end of file diff --git a/MediaBrowser.Controller/Updates/InstallationManager.cs b/MediaBrowser.Controller/Updates/InstallationManager.cs index 7765b8aeff..f248c6d44f 100644 --- a/MediaBrowser.Controller/Updates/InstallationManager.cs +++ b/MediaBrowser.Controller/Updates/InstallationManager.cs @@ -13,7 +13,6 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; @@ -24,12 +23,16 @@ namespace MediaBrowser.Controller.Updates /// public class InstallationManager : BaseManager { + public event EventHandler> PackageInstalling; + public event EventHandler> PackageInstallationCompleted; + public event EventHandler> PackageInstallationFailed; + public event EventHandler> PackageInstallationCancelled; + /// /// The current installations /// public List> CurrentInstallations { get; set; } - /// /// The completed installations /// @@ -48,9 +51,6 @@ namespace MediaBrowser.Controller.Updates private void OnPluginUninstalled(IPlugin plugin) { EventHelper.QueueEventIfNotNull(PluginUninstalled, this, new GenericEventArgs { Argument = plugin }, _logger); - - // Notify connected ui's - Kernel.ServerManager.SendWebSocketMessage("PluginUninstalled", plugin.GetPluginInfo()); } #endregion @@ -372,7 +372,7 @@ namespace MediaBrowser.Controller.Updates var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, innerCancellationTokenSource.Token).Token; - Kernel.ServerManager.SendWebSocketMessage("PackageInstalling", installationInfo); + EventHelper.QueueEventIfNotNull(PackageInstalling, this, new GenericEventArgs() { Argument = installationInfo }, _logger); try { @@ -385,7 +385,7 @@ namespace MediaBrowser.Controller.Updates CompletedInstallations.Add(installationInfo); - Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCompleted", installationInfo); + EventHelper.QueueEventIfNotNull(PackageInstallationCompleted, this, new GenericEventArgs() { Argument = installationInfo }, _logger); } catch (OperationCanceledException) { @@ -396,7 +396,7 @@ namespace MediaBrowser.Controller.Updates _logger.Info("Package installation cancelled: {0} {1}", package.name, package.versionStr); - Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCancelled", installationInfo); + EventHelper.QueueEventIfNotNull(PackageInstallationCancelled, this, new GenericEventArgs() { Argument = installationInfo }, _logger); throw; } @@ -407,7 +407,7 @@ namespace MediaBrowser.Controller.Updates CurrentInstallations.Remove(tuple); } - Kernel.ServerManager.SendWebSocketMessage("PackageInstallationFailed", installationInfo); + EventHelper.QueueEventIfNotNull(PackageInstallationFailed, this, new GenericEventArgs() { Argument = installationInfo }, _logger); throw; } diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 73eed018dd..d2d79db451 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -26,6 +26,24 @@ namespace MediaBrowser.Server.Implementations.Library /// public class LibraryManager : ILibraryManager { + /// + /// Gets the list of entity resolution ignore rules + /// + /// The entity resolution ignore rules. + public IEnumerable EntityResolutionIgnoreRules { get; private set; } + + /// + /// Gets the list of BasePluginFolders added by plugins + /// + /// The plugin folders. + public IEnumerable PluginFolderCreators { get; set; } + + /// + /// Gets the list of currently registered entity resolvers + /// + /// The entity resolvers enumerable. + public IEnumerable EntityResolvers { get; private set; } + #region LibraryChanged Event /// /// Fires whenever any validation routine adds or removes items. The added and removed items are properties of the args. @@ -40,19 +58,6 @@ namespace MediaBrowser.Server.Implementations.Library public void ReportLibraryChanged(ChildrenChangedEventArgs args) { EventHelper.QueueEventIfNotNull(LibraryChanged, this, args, _logger); - - // Had to put this in a separate method to avoid an implicitly captured closure - SendLibraryChangedWebSocketMessage(args); - } - - /// - /// Sends the library changed web socket message. - /// - /// The instance containing the event data. - private void SendLibraryChangedWebSocketMessage(ChildrenChangedEventArgs args) - { - // Notify connected ui's - Kernel.ServerManager.SendWebSocketMessage("LibraryChanged", () => DtoBuilder.GetLibraryUpdateInfo(args)); } #endregion @@ -94,6 +99,19 @@ namespace MediaBrowser.Server.Implementations.Library kernel.ConfigurationUpdated += kernel_ConfigurationUpdated; } + /// + /// Adds the parts. + /// + /// The rules. + /// The plugin folders. + /// The resolvers. + public void AddParts(IEnumerable rules, IEnumerable pluginFolders, IEnumerable resolvers) + { + EntityResolutionIgnoreRules = rules; + PluginFolderCreators = pluginFolders; + EntityResolvers = resolvers; + } + /// /// The _root folder /// @@ -162,7 +180,7 @@ namespace MediaBrowser.Server.Implementations.Library /// BaseItem. public BaseItem ResolveItem(ItemResolveArgs args) { - return Kernel.EntityResolvers.Select(r => r.ResolvePath(args)).FirstOrDefault(i => i != null); + return EntityResolvers.Select(r => r.ResolvePath(args)).FirstOrDefault(i => i != null); } /// @@ -195,7 +213,7 @@ namespace MediaBrowser.Server.Implementations.Library }; // Return null if ignore rules deem that we should do so - if (Kernel.EntityResolutionIgnoreRules.Any(r => r.ShouldIgnore(args))) + if (EntityResolutionIgnoreRules.Any(r => r.ShouldIgnore(args))) { return null; } @@ -269,7 +287,7 @@ namespace MediaBrowser.Server.Implementations.Library var rootFolder = Kernel.ItemRepository.RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)ResolvePath(rootFolderPath); // Add in the plug-in folders - foreach (var child in Kernel.PluginFolderCreators) + foreach (var child in PluginFolderCreators) { rootFolder.AddVirtualChild(child.GetFolder()); } diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index b8b3fc82e2..0490a9cf03 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -83,6 +83,10 @@ namespace MediaBrowser.Server.Implementations.Library /// private readonly ILogger _logger; + /// + /// Gets or sets the kernel. + /// + /// The kernel. private Kernel Kernel { get; set; } /// @@ -124,9 +128,6 @@ namespace MediaBrowser.Server.Implementations.Library private void OnUserUpdated(User user) { EventHelper.QueueEventIfNotNull(UserUpdated, this, new GenericEventArgs { Argument = user }, _logger); - - // Notify connected ui's - Kernel.ServerManager.SendWebSocketMessage("UserUpdated", new DtoBuilder(_logger).GetDtoUser(user)); } #endregion @@ -142,9 +143,6 @@ namespace MediaBrowser.Server.Implementations.Library private void OnUserDeleted(User user) { EventHelper.QueueEventIfNotNull(UserDeleted, this, new GenericEventArgs { Argument = user }, _logger); - - // Notify connected ui's - Kernel.ServerManager.SendWebSocketMessage("UserDeleted", user.Id.ToString()); } #endregion diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 894f7cc756..9034434838 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,5 +1,4 @@ using MediaBrowser.Api; -using MediaBrowser.ClickOnce; using MediaBrowser.Common.Implementations; using MediaBrowser.Common.Implementations.HttpServer; using MediaBrowser.Common.Implementations.Logging; @@ -13,7 +12,10 @@ using MediaBrowser.Common.Net; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Common.Updates; using MediaBrowser.Controller; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Resolvers; +using MediaBrowser.Controller.Updates; using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; @@ -57,13 +59,15 @@ namespace MediaBrowser.ServerApplication /// private readonly IXmlSerializer _xmlSerializer = new XmlSerializer(); + private WebSocketEvents _webSocketEvents; + /// /// Gets the server application paths. /// /// The server application paths. protected IServerApplicationPaths ServerApplicationPaths { - get { return (IServerApplicationPaths) ApplicationPaths; } + get { return (IServerApplicationPaths)ApplicationPaths; } } /// @@ -74,7 +78,7 @@ namespace MediaBrowser.ServerApplication : base() { Kernel = new Kernel(this, ServerApplicationPaths, _xmlSerializer, Logger); - + var networkManager = new NetworkManager(); var serverManager = new ServerManager(this, Kernel, networkManager, _jsonSerializer, Logger); @@ -135,6 +139,20 @@ namespace MediaBrowser.ServerApplication RegisterSingleInstance(new LibraryManager(Kernel, Logger, taskManager, userManager)); } + /// + /// Finds the parts. + /// + protected override void FindParts() + { + base.FindParts(); + + Resolve().AddParts(GetExports(), GetExports(), GetExports()); + + Kernel.InstallationManager = (InstallationManager)CreateInstance(typeof(InstallationManager)); + + _webSocketEvents = new WebSocketEvents(Resolve(), Resolve(), Resolve(), Resolve(), Resolve(), Kernel.InstallationManager); + } + /// /// Restarts this instance. /// @@ -164,8 +182,8 @@ namespace MediaBrowser.ServerApplication var availablePackages = await pkgManager.GetAvailablePackages(Resolve(), Resolve(), Kernel.SecurityManager, Kernel.ResourcePools, Resolve(), CancellationToken.None).ConfigureAwait(false); var version = Kernel.InstallationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", Kernel.Configuration.SystemUpdateLevel); - return version != null ? new CheckForUpdateResult {AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version} : - new CheckForUpdateResult {AvailableVersion = ApplicationVersion, IsUpdateAvailable = false}; + return version != null ? new CheckForUpdateResult { AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version } : + new CheckForUpdateResult { AvailableVersion = ApplicationVersion, IsUpdateAvailable = false }; } /// @@ -228,5 +246,22 @@ namespace MediaBrowser.ServerApplication { App.Instance.Dispatcher.Invoke(App.Instance.Shutdown); } + + /// + /// Releases unmanaged and - optionally - managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + protected override void Dispose(bool dispose) + { + if (dispose) + { + if (_webSocketEvents != null) + { + _webSocketEvents.Dispose(); + } + } + + base.Dispose(dispose); + } } } diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index bc69c96648..a55b49b659 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -162,6 +162,7 @@ + MSBuild:Compile Designer diff --git a/MediaBrowser.ServerApplication/WebSocketEvents.cs b/MediaBrowser.ServerApplication/WebSocketEvents.cs new file mode 100644 index 0000000000..6ffd077f8d --- /dev/null +++ b/MediaBrowser.ServerApplication/WebSocketEvents.cs @@ -0,0 +1,199 @@ +using MediaBrowser.Common.Events; +using MediaBrowser.Common.Kernel; +using MediaBrowser.Common.Plugins; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Updates; +using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Updates; +using System; + +namespace MediaBrowser.ServerApplication +{ + /// + /// Class WebSocketEvents + /// + public class WebSocketEvents : IDisposable + { + /// + /// The _server manager + /// + private readonly IServerManager _serverManager; + /// + /// The _logger + /// + private readonly ILogger _logger; + + /// + /// The _user manager + /// + private readonly IUserManager _userManager; + + /// + /// The _library manager + /// + private readonly ILibraryManager _libraryManager; + + /// + /// The _installation manager + /// + private readonly InstallationManager _installationManager; + + /// + /// The _kernel + /// + private readonly IKernel _kernel; + + /// + /// Initializes a new instance of the class. + /// + /// The server manager. + /// The logger. + /// The user manager. + public WebSocketEvents(IServerManager serverManager, IKernel kernel, ILogger logger, IUserManager userManager, ILibraryManager libraryManager, InstallationManager installationManager) + { + _serverManager = serverManager; + _logger = logger; + _userManager = userManager; + _libraryManager = libraryManager; + _installationManager = installationManager; + _kernel = kernel; + + _userManager.UserDeleted += userManager_UserDeleted; + _userManager.UserUpdated += userManager_UserUpdated; + + _libraryManager.LibraryChanged += libraryManager_LibraryChanged; + + kernel.HasPendingRestartChanged += kernel_HasPendingRestartChanged; + + installationManager.PluginUninstalled += InstallationManager_PluginUninstalled; + installationManager.PackageInstalling += installationManager_PackageInstalling; + installationManager.PackageInstallationCancelled += installationManager_PackageInstallationCancelled; + installationManager.PackageInstallationCompleted += installationManager_PackageInstallationCompleted; + installationManager.PackageInstallationFailed += installationManager_PackageInstallationFailed; + } + + /// + /// Installations the manager_ package installation failed. + /// + /// The sender. + /// The e. + void installationManager_PackageInstallationFailed(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("PackageInstallationFailed", e.Argument); + } + + /// + /// Installations the manager_ package installation completed. + /// + /// The sender. + /// The e. + void installationManager_PackageInstallationCompleted(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("PackageInstallationCompleted", e.Argument); + } + + /// + /// Installations the manager_ package installation cancelled. + /// + /// The sender. + /// The e. + void installationManager_PackageInstallationCancelled(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("PackageInstallationCancelled", e.Argument); + } + + /// + /// Installations the manager_ package installing. + /// + /// The sender. + /// The e. + void installationManager_PackageInstalling(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("PackageInstalling", e.Argument); + } + + /// + /// Handles the LibraryChanged event of the libraryManager control. + /// + /// The source of the event. + /// The instance containing the event data. + void libraryManager_LibraryChanged(object sender, ChildrenChangedEventArgs e) + { + _serverManager.SendWebSocketMessage("LibraryChanged", () => DtoBuilder.GetLibraryUpdateInfo(e)); + } + + /// + /// Installations the manager_ plugin uninstalled. + /// + /// The sender. + /// The e. + void InstallationManager_PluginUninstalled(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("PluginUninstalled", e.Argument.GetPluginInfo()); + } + + /// + /// Handles the HasPendingRestartChanged event of the kernel control. + /// + /// The source of the event. + /// The instance containing the event data. + void kernel_HasPendingRestartChanged(object sender, EventArgs e) + { + var kernel = (IKernel)sender; + + _serverManager.SendWebSocketMessage("HasPendingRestartChanged", kernel.GetSystemInfo()); + } + + /// + /// Users the manager_ user updated. + /// + /// The sender. + /// The e. + void userManager_UserUpdated(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("UserUpdated", new DtoBuilder(_logger).GetDtoUser(e.Argument)); + } + + /// + /// Users the manager_ user deleted. + /// + /// The sender. + /// The e. + void userManager_UserDeleted(object sender, GenericEventArgs e) + { + _serverManager.SendWebSocketMessage("UserDeleted", e.Argument.Id.ToString()); + } + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + /// + public void Dispose() + { + Dispose(true); + } + + /// + /// Releases unmanaged and - optionally - managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + protected virtual void Dispose(bool dispose) + { + if (dispose) + { + _userManager.UserDeleted -= userManager_UserDeleted; + _userManager.UserUpdated -= userManager_UserUpdated; + + _libraryManager.LibraryChanged -= libraryManager_LibraryChanged; + + _installationManager.PluginUninstalled -= InstallationManager_PluginUninstalled; + _installationManager.PackageInstalling -= installationManager_PackageInstalling; + _installationManager.PackageInstallationCancelled -= installationManager_PackageInstallationCancelled; + _installationManager.PackageInstallationCompleted -= installationManager_PackageInstallationCompleted; + _installationManager.PackageInstallationFailed -= installationManager_PackageInstallationFailed; + + _kernel.HasPendingRestartChanged -= kernel_HasPendingRestartChanged; + } + } + } +} diff --git a/MediaBrowser.WebDashboard/Html/css/images/mblogoicon.png b/MediaBrowser.WebDashboard/Html/css/images/mblogoicon.png index be2de69d14fe46f6c2811d8c348b6cfe1111d72d..058d09ee5114852593858734a9fca1868fc5972d 100644 GIT binary patch literal 99074 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®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 F{y(jZh4TOa literal 42128 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