| ofs | hex dump | ascii |
|---|
| 0000 | 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 30 00 00 00 30 08 06 00 00 00 57 02 f9 | .PNG........IHDR...0...0.....W.. |
| 0020 | 87 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 | .....tEXtSoftware.Adobe.ImageRea |
| 0040 | 64 79 71 c9 65 3c 00 00 03 fb 49 44 41 54 78 da cc 9a 5b 48 54 41 18 c7 77 57 2b b5 cd f5 52 76 | dyq.e<....IDATx...[HTA..wW+...Rv |
| 0060 | 83 c8 4a d4 ae 10 5e 32 b4 b0 0b 3d d4 43 10 41 17 f4 ad a0 a8 b0 ac 1e 32 c8 d7 1e 8a c0 c7 1e | ..J...^2...=.C.A........2....... |
| 0080 | 2c d4 88 7c 29 42 89 b0 92 2e 08 51 64 4a 49 66 a4 0f 16 95 a8 a5 9b 9a 97 ed 3f f0 29 c3 c7 9c | ,..|)B.....QdJIf..........?.)... |
| 00a0 | dd 3d e7 cc ba e7 83 df c3 99 d9 99 f9 fe 33 73 e6 cc 7c b3 ee 40 20 e0 d2 6c 73 c1 6a 90 0c bc | .=............3s..|..@...ls.j... |
| 00c0 | 94 36 0c fa c1 17 30 ae b3 b1 58 0d 75 f8 c0 5e b0 13 14 82 55 41 ea 9d 20 11 2f c0 13 d0 00 86 | .6....0...X.u..^....UA..../..... |
| 00e0 | 6c b5 2e 46 c0 22 05 e0 2e f8 1b b0 6e a2 6c 2d c8 b3 ea 87 95 42 9b c1 d3 80 7e 7b 04 36 45 52 | l..F."......n.l-.....B....~{.6ER |
| 0100 | 40 02 a8 02 13 61 3a f4 1b f4 12 7f c2 2c 33 0e ae 83 38 dd 02 d6 82 f6 20 0d ff 03 0d a0 0c e4 | @....a:......,3...8............. |
| 0120 | 83 24 45 1d c9 60 0b 38 07 1a a9 8c 91 b5 82 2c 5d 02 8a a9 37 55 26 7a b7 1c a4 5a 98 8a 69 e0 | .$E..`.8.......,]...7U&z...Z..i. |
| 0140 | 02 d5 a1 b2 7e 50 68 57 c0 3e 30 6a f0 f2 55 80 79 36 16 81 69 e2 41 a5 c1 62 20 d2 76 59 15 20 | ....~PhW.>0j..U.y6..i.A..b..vY.. |
| 0160 | a6 82 5f 51 e9 3b 90 a1 c1 71 4e b6 c1 34 f5 93 2f a6 04 2c 07 bf 14 95 d5 9b 79 c1 2c 20 16 8a | .._Q.;...qN..4../..,......y.,... |
| 0180 | 07 8a 76 bf 83 25 e1 0a 88 01 cf 15 95 dc a6 3c 57 84 11 6d dc 51 b4 df 04 3c e1 08 38 a5 28 fc | ..v..%.........<W..m.Q...<..8.(. |
| 01a0 | 70 96 9c 97 45 34 29 fc 38 1e 4a c0 62 30 c8 0a 7d 35 58 16 23 8d 58 76 bb 99 2f 7d 20 45 fe 9d | p...E4).8.J.b0..}5X.#.Xv../}.E.. |
| 01c0 | 87 ed 2c ce d3 de 66 66 a7 01 4a c1 a0 c9 1d 8a d8 c4 bd 61 78 4d d6 31 00 8e b1 b4 54 70 d6 68 | ..,...ff..J........axM.1....Tp.h |
| 01e0 | 2f 24 14 0f 31 c5 35 16 7b cf a7 18 7e 9f c5 ba ee b1 7a 06 c0 02 d5 08 1c 66 bd 24 76 8e 95 ae | /$..1.5.{...~.....z......f.$v... |
| 0200 | e8 db 15 30 25 3d 27 81 83 d3 0f b2 80 12 56 f0 3e 6d 7d a3 6d 1d a0 91 a5 95 70 01 4b 41 3e fb | ...0%='.......V.>m}.m.....p.KA>. |
| 0220 | d1 2d 97 73 8c fb 52 04 12 65 01 db 81 5b fa 81 1f 3c 76 90 00 31 02 23 d2 73 0c f9 3c 23 20 87 | .-.s..R..e...[...<v..1.#.s..<#.. |
| 0240 | 15 78 a9 fb e8 67 d3 84 f3 2d 2c 2d 47 16 90 c5 32 5b 5d ce b3 36 f6 9c 29 0b 58 c1 32using 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
{
/// <summary>
/// Occurs when an application update is available.
/// </summary>
event EventHandler<CheckForUpdateResponse> UpdateAvailable;
/// <summary>
/// Gets or sets a value indicating whether to automatically check for new application updates.
/// </summary>
bool EnableAutoCheckForUpdates { get; set; }
/// <summary>
/// Gets the current machine update progress status.
/// </summary>
MachineUpdateProgress Status { get; }
/// <summary>
/// Occurs when there is a text log message available.
/// </summary>
event EventHandler<String> ProgressLog;
/// <summary>
/// Occurs when the update has made some progress.
/// </summary>
event EventHandler<MachineUpdateProgress> Progress;
/// <summary>
/// Performs a machine update using the specified serial number and machine service address.
/// </summary>
/// <param name="serialNumber">The serial number.</param>
/// <param name="setupFirmware">if set to <c>true</c> updates the embedded device firmware.</param>
/// <param name="setupFPGA">if set to <c>true</c> updates the embedded device FPGA version and other parameters.</param>
/// <returns></returns>
Task<MachineUpdateResult> Update(bool setupFirmware, bool setupFPGA);
/// <summary>
/// Performs a machine update using the specified software update package path.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <returns></returns>
Task<MachineUpdateResult> UpdateFromTUP(String fileName, bool setupFirmware, bool setupFPGA);
/// <summary>
/// Performs a firmware upgrade from the specified TFP file.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <returns></returns>
Task UpdateFromTFP(String fileName);
/// <summary>
/// Checks if any update are available for the specified machine serial number.
/// </summary>
/// <param name="serialNumber">The serial number.</param>
/// <returns></returns>
Task<CheckForUpdateResponse> CheckForUpdate(String serialNumber);
/// <summary>
/// Checks whether it is necessary to updates all the "overwrite-able" database tables.
/// </summary>
/// <param name="serialNumber">The serial number.</param>
/// <returns></returns>
Task<DbCompareResult> UpdateDBCheck(String serialNumber);
/// <summary>
/// Updates all the "overwrite-able" database tables.
/// </summary>
/// <returns></returns>
Task UpdateDB(DbCompareResult dbCompareResult, String serialNumber);
/// <summary>
/// Gets the update package file information.
/// </summary>
/// <param name="filePath">The file path.</param>
/// <returns></returns>
Task<PublishInfo> GetUpdatePackageFileInfo(String filePath);
/// <summary>
/// Checks whether any post update packages needs to be installed.
/// </summary>
/// <returns></returns>
Task<bool> PostUpdatePackagesRequired();
/// <summary>
/// Runs all post update packages.
/// </summary>
/// <returns></returns>
Task<PackageRunnerResult> RunPostUpdatePackages();
}
}
|