From 234dba2d9a676ed99b972186160f8993e7293208 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 6 Sep 2014 16:09:35 -0400 Subject: move usage reporter to server project --- .../ScheduledTasks/Tasks/SystemUpdateTask.cs | 148 --------------------- 1 file changed, 148 deletions(-) delete mode 100644 MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/SystemUpdateTask.cs (limited to 'MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/SystemUpdateTask.cs') diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/SystemUpdateTask.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/SystemUpdateTask.cs deleted file mode 100644 index 6a9443ad7..000000000 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/SystemUpdateTask.cs +++ /dev/null @@ -1,148 +0,0 @@ -using MediaBrowser.Common.Configuration; -using MediaBrowser.Common.ScheduledTasks; -using MediaBrowser.Model.Logging; -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Common.Implementations.ScheduledTasks.Tasks -{ - /// - /// Plugin Update Task - /// - public class SystemUpdateTask : IScheduledTask, IHasKey - { - /// - /// The _app host - /// - private readonly IApplicationHost _appHost; - - /// - /// Gets or sets the configuration manager. - /// - /// The configuration manager. - private IConfigurationManager ConfigurationManager { get; set; } - /// - /// Gets or sets the logger. - /// - /// The logger. - private ILogger Logger { get; set; } - - /// - /// Initializes a new instance of the class. - /// - /// The app host. - /// The configuration manager. - /// The logger. - public SystemUpdateTask(IApplicationHost appHost, IConfigurationManager configurationManager, ILogger logger) - { - _appHost = appHost; - ConfigurationManager = configurationManager; - Logger = logger; - } - - /// - /// Creates the triggers that define when the task will run - /// - /// IEnumerable{BaseTaskTrigger}. - public IEnumerable GetDefaultTriggers() - { - // Until we can vary these default triggers per server and MBT, we need something that makes sense for both - return new ITaskTrigger[] { - - // At startup - new StartupTrigger(), - - // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} - }; - } - - /// - /// Returns the task to be executed - /// - /// The cancellation token. - /// The progress. - /// Task. - public async Task Execute(CancellationToken cancellationToken, IProgress progress) - { - EventHandler innerProgressHandler = (sender, e) => progress.Report(e * .1); - - // Create a progress object for the update check - var innerProgress = new Progress(); - innerProgress.ProgressChanged += innerProgressHandler; - - var updateInfo = await _appHost.CheckForApplicationUpdate(cancellationToken, innerProgress).ConfigureAwait(false); - - // Release the event handler - innerProgress.ProgressChanged -= innerProgressHandler; - - progress.Report(10); - - if (!updateInfo.IsUpdateAvailable) - { - Logger.Debug("No application update available."); - progress.Report(100); - return; - } - - cancellationToken.ThrowIfCancellationRequested(); - - if (!_appHost.CanSelfUpdate) return; - - if (ConfigurationManager.CommonConfiguration.EnableAutoUpdate) - { - Logger.Info("Update Revision {0} available. Updating...", updateInfo.AvailableVersion); - - innerProgressHandler = (sender, e) => progress.Report((e * .9) + .1); - - innerProgress = new Progress(); - innerProgress.ProgressChanged += innerProgressHandler; - - await _appHost.UpdateApplication(updateInfo.Package, cancellationToken, innerProgress).ConfigureAwait(false); - - // Release the event handler - innerProgress.ProgressChanged -= innerProgressHandler; - } - else - { - Logger.Info("A new version of Media Browser is available."); - } - - progress.Report(100); - } - - /// - /// Gets the name of the task - /// - /// The name. - public string Name - { - get { return "Check for application updates"; } - } - - /// - /// Gets the description. - /// - /// The description. - public string Description - { - get { return "Downloads and installs application updates."; } - } - - /// - /// Gets the category. - /// - /// The category. - public string Category - { - get { return "Application"; } - } - - public string Key - { - get { return "SystemUpdateTask"; } - } - } -} -- cgit v1.2.3