aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
diff options
context:
space:
mode:
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.cs19
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)