using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Integration.Operation; using Tango.Integration.Upgrade; using Tango.MachineStudio.Common.FirmwareUpgrade; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.StudioApplication; using Tango.MachineStudio.UI.ViewModels; using Tango.MachineStudio.UI.Views; namespace Tango.MachineStudio.UI.FirmwareUpgrade { /// /// Default firmware upgrade manager. /// /// public class DefaultFirmwareUpgrader : IFirmwareUpgrader { private IStudioApplicationManager _applicationManager; private INotificationProvider _notification; /// /// Initializes a new instance of the class. /// public DefaultFirmwareUpgrader(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider) { _applicationManager = applicationManager; _notification = notificationProvider; } /// /// Performs a firmware upgrade. /// /// The TFP stream. public Task PerformUpgrade(Stream tfpStream) { return _applicationManager.ConnectedMachine.UpgradeFirmware(tfpStream); } /// /// Invokes the upgrade dialog. /// public void InvokeUpgradeUI() { FirmwareUpgradeViewVM vm = new FirmwareUpgradeViewVM(_applicationManager.ConnectedMachine, _notification); _notification.ShowModalDialog(vm, (x) => { }, () => { }); } } }