private void PowerOn(SimReserved simulator) { Thread.CurrentThread.SetName(simulator.AssetId); UpdateItemStatus(simulator, "Checking power status..."); if (VMController.IsPoweredOn(simulator.VirtualMachine)) { UpdateItemStatus(simulator, "Already powered on."); } else { UpdateItemStatus(simulator, "Powering On VM..."); VMController.PowerOnMachine(simulator.VirtualMachine); VMInventoryManager.SetInUse(simulator.VirtualMachine); CancellationTokenSource task = new CancellationTokenSource(); VMController.WaitOnMachineAvailable(simulator.VirtualMachine, task.Token); UpdateItemStatus(simulator, "Power On complete."); } }
private void PowerOff(SimReserved simulator) { Thread.CurrentThread.SetName(simulator.AssetId); UpdateItemStatus(simulator, "Checking power status..."); if (VMController.IsPoweredOn(simulator.VirtualMachine)) { if (JediSimulatorManager.IsSimulatorReady(simulator.HostAddress)) { UpdateItemStatus(simulator, "Shutting down simulator..."); JediSimulatorManager.ShutdownSimulator(simulator.VirtualMachine); UpdateItemStatus(simulator, "Simulator Shutdown complete."); } UpdateItemStatus(simulator, "Powering Off VM..."); VMController.Shutdown(simulator.VirtualMachine); UpdateItemStatus(simulator, "Power Off complete."); } else { UpdateItemStatus(simulator, "Already powered off."); } }
/// <summary> /// Is a VM powered on. /// </summary> /// <returns>True if it's powered on.</returns> public bool IsPoweredOn() { return(VMController.IsPoweredOn(Name)); }