using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.PMR.Synchronization; using Tango.PPC.Common.Publish; using Tango.PPC.Common.UpdatePackages; using Tango.PPC.Common.Web; namespace Tango.PPC.Common.MachineUpdate { public interface IMachineUpdateManager { /// /// Occurs when an application update is available. /// event EventHandler UpdateAvailable; /// /// Gets or sets a value indicating whether to automatically check for new application updates. /// bool EnableAutoCheckForUpdates { get; set; } /// /// Gets the current machine update progress status. /// MachineUpdateProgress Status { get; } /// /// Occurs when there is a text log message available. /// event EventHandler ProgressLog; /// /// Occurs when the update has made some progress. /// event EventHandler Progress; /// /// Performs a machine update. /// /// if set to true updates the embedded device firmware. /// if set to true updates the embedded device FPGA version and other parameters. /// Task Update(bool setupFirmware, bool setupFPGA); /// /// Performs a machine update using the specified software update package path. /// /// Name of the file. /// Task UpdateFromTUP(String fileName, bool setupFirmware, bool setupFPGA); /// /// Performs a firmware upgrade from the specified TFP file. /// /// Name of the file. /// Task UpdateFromTFP(String fileName); /// /// Checks if any update are available. /// /// Task CheckForUpdate(); /// /// Checks whether it is necessary to updates all the "overwrite-able" database tables. /// /// Task UpdateDBCheck(); /// /// Updates all the "overwrite-able" database tables. /// /// Task UpdateDB(DbCompareResult dbCompareResult); /// /// Gets the update package file information. /// /// The file path. /// Task GetUpdatePackageFileInfo(String filePath); /// /// Checks whether any post update packages needs to be installed. /// /// Task PostUpdatePackagesRequired(); /// /// Runs all post update packages. /// /// Task RunPostUpdatePackages(); /// /// Restores the last database backup. /// /// Task RestoreLastDatabaseBackup(); } }