From 5d5a0e3addd206f86a10e5be127efde0453cd419 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 6 Aug 2014 22:51:09 -0400 Subject: updated nuget --- MediaBrowser.ServerApplication/Native/NativeApp.cs | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.ServerApplication/Native/NativeApp.cs') diff --git a/MediaBrowser.ServerApplication/Native/NativeApp.cs b/MediaBrowser.ServerApplication/Native/NativeApp.cs index 2388b610b..0e7dc50a9 100644 --- a/MediaBrowser.ServerApplication/Native/NativeApp.cs +++ b/MediaBrowser.ServerApplication/Native/NativeApp.cs @@ -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 CheckForApplicationUpdate(Version currentVersion, + PackageVersionClass updateLevel, + IInstallationManager installationManager, + CancellationToken cancellationToken, + IProgress 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 }; + } } } -- cgit v1.2.3