using System; using System.Threading; using System.Threading.Tasks; using Glitonea.Mvvm; namespace Saradomin.Infrastructure.Services { public interface IClientUpdateService : IService { string ClientDownloadURL { get; } string PreferredTargetFilePath { get; } event EventHandler DownloadProgressChanged; Task FetchRemoteClientHashAsync(CancellationToken cancellationToken); Task FetchRemoteClientExecutableAsync(CancellationToken cancellationToken, string targetPath = null); Task ComputeLocalClientHashAsync(string filePath = null); } }