/// <summary> /// InternalExecute /// </summary> protected override void InternalExecute() { this.virtualPC = new VMVirtualPC(); switch (this.action) { case VirtualPCAction.List: this.GetListOfVMs(); break; case VirtualPCAction.AddHardDiskConnection: case VirtualPCAction.DiscardSavedState: case VirtualPCAction.DiscardUndoDisks: case VirtualPCAction.LogOff: case VirtualPCAction.MergeUndoDisks: case VirtualPCAction.Pause: case VirtualPCAction.RemoveHardDiskConnection: case VirtualPCAction.Reset: case VirtualPCAction.Restart: case VirtualPCAction.Resume: case VirtualPCAction.Save: case VirtualPCAction.Shutdown: case VirtualPCAction.Startup: case VirtualPCAction.Turnoff: this.ControlVM(); break; case VirtualPCAction.IsScreenLocked: this.IsScreenLocked(); break; case VirtualPCAction.IsHeartBeating: this.IsHeartBeating(); break; case VirtualPCAction.WaitForLowCpuUtilization: this.WaitForLowCpuUtilization(); break; case VirtualPCAction.TakeScreenshot: this.TakeScreenshot(); break; case VirtualPCAction.RunScript: this.RunScript(); break; default: this.LogBuildError(string.Format(CultureInfo.CurrentCulture, "Invalid action passed: {0}", this.action)); return; } }
/// <summary> /// InternalExecute /// </summary> protected override void InternalExecute() { if (!this.TargetingLocalMachine()) { return; } this.virtualPC = new VMVirtualPC(); switch (this.TaskAction) { case ListTaskAction: this.LogTaskMessage(MessageImportance.Low, "Listing Virtual Machines"); this.VirtualMachines = new ITaskItem[this.virtualPC.VirtualMachines.Count]; this.VirtualMachineCount = this.virtualPC.VirtualMachines.Count; int i = 0; foreach (VMVirtualMachine vm in this.virtualPC.VirtualMachines) { this.VirtualMachines[i] = GetVirtualMachineDetails(vm); i++; } break; case AddHardDiskConnectionTaskAction: case DiscardSavedStateTaskAction: case DiscardUndoDisksTaskAction: case LogoffTaskAction: case MergeUndoDisksTaskAction: case PauseTaskAction: case RemoveHardDiskConnectionTaskAction: case ResetTaskAction: case RestartTaskAction: case ResumeTaskAction: case SaveTaskAction: case ShutdownTaskAction: case StartupTaskAction: case TurnOffTaskAction: this.ConrolVM(); break; case IsScreenLockedTaskAction: this.IsScreenLocked(); break; case IsHeartBeatingTaskAction: this.IsHeartBeating(); break; case TypeAsciiTextTaskAction: case TypeKeySequenceTaskAction: this.ManageKeyBoard(); break; case WaitForLowCpuUtilizationTaskAction: this.WaitForLowCpuUtilization(); break; case TakeScreenshotTaskAction: this.TakeScreenshot(); break; case ClickMouseTaskAction: this.ClickMouse(); break; default: this.Log.LogError(string.Format(CultureInfo.CurrentCulture, "Invalid TaskAction passed: {0}", this.TaskAction)); return; } }