diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs index 2929908cc..39ce8cd30 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs @@ -46,6 +46,11 @@ namespace Tango.PPC.UI.PPCApplication private INotificationProvider _notificationProvider; /// <summary> + /// Occurs when a system restart is required. + /// </summary> + public event EventHandler SystemRestartRequired; + + /// <summary> /// Occurs when the application has started. /// </summary> public event EventHandler ApplicationStarted; @@ -141,6 +146,7 @@ namespace Tango.PPC.UI.PPCApplication PPCSettings settings = null; bool initialized = false; + bool isAfterSetup = false; await Task.Factory.StartNew(() => { @@ -163,8 +169,21 @@ namespace Tango.PPC.UI.PPCApplication if (App.StartupArgs.Contains("-update_ok")) { LogManager.Log("Application started with '-update_ok' startup arguments. The application has been successfully updated."); + + if (settings.ApplicationState == ApplicationStates.PreSetup) + { + isAfterSetup = true; + LogManager.Log("System restart is required."); + } + settings.ApplicationState = ApplicationStates.Ready; settings.Save(); + + if (isAfterSetup) + { + SystemRestartRequired?.Invoke(this, new EventArgs()); + return; + } } if (settings.ApplicationState == ApplicationStates.Ready) |
