updated nuget

This commit is contained in:
Luke Pulverenti
2014-08-06 22:51:09 -04:00
parent 56e4d6730f
commit 5d5a0e3add
27 changed files with 200 additions and 92 deletions

View File

@@ -1,4 +1,10 @@
using System.Runtime.InteropServices;
using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Updates;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Updates;
namespace MediaBrowser.ServerApplication.Native
{
@@ -84,5 +90,24 @@ namespace MediaBrowser.ServerApplication.Native
EXECUTION_STATE es = SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED);
}
}
public static async Task<CheckForUpdateResult> CheckForApplicationUpdate(Version currentVersion,
PackageVersionClass updateLevel,
IInstallationManager installationManager,
CancellationToken cancellationToken,
IProgress<double> progress)
{
var availablePackages = await installationManager.GetAvailablePackagesWithoutRegistrationInfo(cancellationToken).ConfigureAwait(false);
var version = installationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", null, currentVersion, updateLevel);
var versionObject = version == null || string.IsNullOrWhiteSpace(version.versionStr) ? null : new Version(version.versionStr);
var isUpdateAvailable = versionObject != null && versionObject > currentVersion;
return versionObject != null ?
new CheckForUpdateResult { AvailableVersion = versionObject.ToString(), IsUpdateAvailable = isUpdateAvailable, Package = version } :
new CheckForUpdateResult { AvailableVersion = currentVersion.ToString(), IsUpdateAvailable = false };
}
}
}