From 889ce81d0304e6fa05c0217a767468861ecb4e67 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 13 Sep 2013 21:56:03 -0400 Subject: updated nuget --- MediaBrowser.ServerApplication/ApplicationHost.cs | 50 ++++++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 57b39c209..2cc907144 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -29,6 +29,7 @@ using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.System; +using MediaBrowser.Model.Updates; using MediaBrowser.Providers; using MediaBrowser.Server.Implementations; using MediaBrowser.Server.Implementations.BdInfo; @@ -687,11 +688,56 @@ namespace MediaBrowser.ServerApplication } } - protected override string ApplicationUpdatePackageName + /// + /// Checks for update. + /// + /// The cancellation token. + /// The progress. + /// Task{CheckForUpdateResult}. + public override async Task CheckForApplicationUpdate(CancellationToken cancellationToken, + IProgress progress) + { + var result = await CheckForApplicationUpdateInternal(cancellationToken, progress).ConfigureAwait(false); + + return result; + } + + /// + /// Checks for application update internal. + /// + /// The cancellation token. + /// The progress. + /// Task{CheckForUpdateResult}. + private async Task CheckForApplicationUpdateInternal(CancellationToken cancellationToken, + IProgress progress) { - get { return Constants.MbServerPkgName; } + var availablePackages = await InstallationManager.GetAvailablePackagesWithoutRegistrationInfo(cancellationToken).ConfigureAwait(false); + + var version = InstallationManager.GetLatestCompatibleVersion(availablePackages, Constants.MbServerPkgName, ConfigurationManager.CommonConfiguration.SystemUpdateLevel); + + return version != null ? new CheckForUpdateResult { AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version } : + new CheckForUpdateResult { AvailableVersion = ApplicationVersion, IsUpdateAvailable = false }; } + /// + /// Updates the application. + /// + /// The package that contains the update + /// The cancellation token. + /// The progress. + /// Task. + public override async Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress progress) + { + await InstallationManager.InstallPackage(package, progress, cancellationToken).ConfigureAwait(false); + + OnApplicationUpdated(package.version); + } + + /// + /// Gets the HTTP message handler. + /// + /// if set to true [enable HTTP compression]. + /// HttpMessageHandler. protected override HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression) { return new WebRequestHandler -- cgit v1.2.3