diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2013-02-28 14:29:17 -0500 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2013-02-28 14:29:17 -0500 |
| commit | 989bb48596664313df15dc67d43dc5a174562dcd (patch) | |
| tree | 80634d8d727c7659c54cbfb6db1ccc78d5469b80 | |
| parent | 0180e89310fc5f4f608f4bc186d791ab787faf3e (diff) | |
Start on new update routines
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Common/Constants/Constants.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Model/Updates/CheckForUpdateResult.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 17 |
4 files changed, 24 insertions, 11 deletions
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index 698d7e47f..a45b11e26 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -123,10 +123,7 @@ namespace MediaBrowser.Api if (updateCheckResult.IsUpdateAvailable) { - result.Add(new PackageVersionInfo - { - versionStr = updateCheckResult.AvailableVersion.ToString() - }); + result.Add(updateCheckResult.Package); } } diff --git a/MediaBrowser.Common/Constants/Constants.cs b/MediaBrowser.Common/Constants/Constants.cs index e8a347829..676518737 100644 --- a/MediaBrowser.Common/Constants/Constants.cs +++ b/MediaBrowser.Common/Constants/Constants.cs @@ -8,6 +8,6 @@ namespace MediaBrowser.Common.Constants { public static class Constants { - public const string MBAdminUrl = "http://mb3admin.com/admin/"; + public const string MBAdminUrl = "http://www.mb3admin.com/admin/"; } } diff --git a/MediaBrowser.Model/Updates/CheckForUpdateResult.cs b/MediaBrowser.Model/Updates/CheckForUpdateResult.cs index 48c0b398c..c9bc2d6b9 100644 --- a/MediaBrowser.Model/Updates/CheckForUpdateResult.cs +++ b/MediaBrowser.Model/Updates/CheckForUpdateResult.cs @@ -17,6 +17,15 @@ namespace MediaBrowser.Model.Updates /// Gets or sets the available version. /// </summary> /// <value>The available version.</value> - public Version AvailableVersion { get; set; } + public Version AvailableVersion + { + get { return Package != null ? Package.version : new Version(0, 0); } + set { } // need this for the serializer + } + + /// <summary> + /// Get or sets package information for an available update + /// </summary> + public PackageVersionInfo Package { get; set; } } } diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 5ba0485ed..d4b19e872 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,4 +1,5 @@ -using BDInfo; +using System.Security; +using BDInfo; using MediaBrowser.ClickOnce; using MediaBrowser.Common.Implementations; using MediaBrowser.Common.Implementations.HttpClientManager; @@ -13,6 +14,8 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Net; using MediaBrowser.Common.ScheduledTasks; +using MediaBrowser.Common.Security; +using MediaBrowser.Common.Updates; using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using MediaBrowser.IsoMounter; @@ -145,7 +148,7 @@ namespace MediaBrowser.ServerApplication /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value> public bool CanSelfUpdate { - get { return ClickOnceHelper.IsNetworkDeployed; } + get { return true; } } /// <summary> @@ -154,10 +157,14 @@ namespace MediaBrowser.ServerApplication /// <param name="cancellationToken">The cancellation token.</param> /// <param name="progress">The progress.</param> /// <returns>Task{CheckForUpdateResult}.</returns> - public Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress) + public async Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress) { - // Get package manager using Resolve<IPackageManager>() - return new ApplicationUpdateCheck().CheckForApplicationUpdate(cancellationToken, progress); + var pkgManager = Resolve<IPackageManager>(); + var availablePackages = await pkgManager.GetAvailablePackages(Resolve<IHttpClient>(), Resolve<INetworkManager>(), Kernel.SecurityManager, Kernel.ResourcePools, Resolve<IJsonSerializer>(), 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(); } /// <summary> |
