using MediaBrowser.Model.Updates; using System; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Common.Kernel { /// /// An interface to be implemented by the applications hosting a kernel /// public interface IApplicationHost { /// /// Restarts this instance. /// void Restart(); /// /// Reloads the logger. /// void ReloadLogger(); /// /// Gets the log file path. /// /// The log file path. string LogFilePath { get; } /// /// Gets or sets a value indicating whether this instance can self update. /// /// true if this instance can self update; otherwise, false. bool CanSelfUpdate { get; } /// /// Checks for update. /// /// Task{CheckForUpdateResult}. Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress); /// /// Updates the application. /// /// Task. Task UpdateApplication(CancellationToken cancellationToken, IProgress progress); } }