protected override void FinishWizard() { long ntol = xenTabPageAssignPriorities.Ntol; // Save configured restart priorities and enable HA. EnableHAAction action = new EnableHAAction(pool, xenTabPageAssignPriorities.GetCurrentStartupOptions(), new List<SR> { xenTabPageChooseSR.SelectedHeartbeatSR } , ntol); // We will need to re-enable buttons when the action completes action.Completed += Program.MainWindow.action_Completed; action.RunAsync(); Program.MainWindow.UpdateToolbars(); base.FinishWizard(); }
public static bool GetActionInProgress(SR sr) { foreach (ActionBase a in ConnectionsManager.History) { if (!a.IsCompleted) { if (a is SrAction && a.SR == sr) { return(true); } EnableHAAction haAction = a as EnableHAAction; if (haAction != null && haAction.HeartbeatSRs.Contains(sr)) { return(true); } } } return(false); }
/// <summary> /// Finds the EnableHAAction or DisableHAAction in progress that pertains to the given connection, or null /// if there is no such action. /// Must be called on the event thread. /// </summary> /// <param name="connection">May not be null.</param> /// <returns></returns> internal static AsyncAction FindActiveHaAction(IXenConnection connection) { Program.AssertOnEventThread(); foreach (ActionBase action in ConnectionsManager.History) { if (action.IsCompleted) { continue; } EnableHAAction enableAction = action as EnableHAAction; if (enableAction != null && !enableAction.Cancelled && enableAction.Connection == connection) { return(enableAction); } DisableHAAction disableAction = action as DisableHAAction; if (disableAction != null && !disableAction.Cancelled && disableAction.Connection == connection) { return(disableAction); } } return(null); }