using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.PPC.Common.Application; using Tango.PPC.Common.Connection; using Tango.PPC.Common.Notifications; namespace Tango.PPC.Common.UpdatePackages { public class PackageContext { public delegate void PackageProgressDelegate(String message, bool isIntermediate = true, double progress = 0, double maximum = 100); public IPPCApplicationManager ApplicationManager { get; set; } public IMachineProvider MachineProvider { get; set; } public INotificationProvider NotificationProvider { get; set; } public Version InstalledVersion { get; set; } public Version DeltaVersion { get; set; } internal PackageProgressDelegate ProgressAction { get; set; } public void ReportProgress(String message, bool isIntermediate = true, double progress = 0, double maximum = 100) { ProgressAction?.Invoke(message, isIntermediate, progress, maximum); } } }