aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Reed <ebr@mediabrowser3.com>2013-02-28 14:29:17 -0500
committerEric Reed <ebr@mediabrowser3.com>2013-02-28 14:29:17 -0500
commit989bb48596664313df15dc67d43dc5a174562dcd (patch)
tree80634d8d727c7659c54cbfb6db1ccc78d5469b80
parent0180e89310fc5f4f608f4bc186d791ab787faf3e (diff)
Start on new update routines
-rw-r--r--MediaBrowser.Api/PackageService.cs5
-rw-r--r--MediaBrowser.Common/Constants/Constants.cs2
-rw-r--r--MediaBrowser.Model/Updates/CheckForUpdateResult.cs11
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs17
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>