private ToolStripMenuItem CreateOpenShellMenuItem(ToolStripMenuItem toolStripMenuItem, string menuType, string targetDirectory) { var openShell = new OpenShell(); if (OpenShell.AppExists("powershell.exe")) { var openPowershellInsideMenuItem = openShell.CreateToolStripMenuItem(menuType, targetDirectory, "powershell.exe", false); toolStripMenuItem.DropDownItems.Add(openPowershellInsideMenuItem); var openPowershellInsideElevatedMenuItem = openShell.CreateToolStripMenuItem(menuType, targetDirectory, "powershell.exe", true); toolStripMenuItem.DropDownItems.Add(openPowershellInsideElevatedMenuItem); } if (OpenShell.AppExists("cmd.exe")) { var openCmdInsideMenuItem = openShell.CreateToolStripMenuItem(menuType, targetDirectory, "cmd.exe", false); toolStripMenuItem.DropDownItems.Add(openCmdInsideMenuItem); var openCmdInsideElevatedMenuItem = openShell.CreateToolStripMenuItem(menuType, targetDirectory, "cmd.exe", true); toolStripMenuItem.DropDownItems.Add(openCmdInsideElevatedMenuItem); } return(toolStripMenuItem); }
public void selectCommand(int command, List <RaspberryPi> pis) { Command c; switch (command) { case 1: foreach (RaspberryPi pi in pis) { c = new Status(pi); Task task = new Task(c); threadPool.addTask(task); } break; case 2: foreach (RaspberryPi pi in pis) { c = new Reboot(pi); Task task = new Task(c); threadPool.addTask(task); } break; case 3: foreach (RaspberryPi pi in pis) { c = new Update(pi); // Send to tasks pool, then issueCommand Task task = new Task(c); threadPool.addTask(task); } break; case 4: foreach (RaspberryPi pi in pis) { Console.WriteLine(); Console.WriteLine(@"Note: paths in Windows use backslashes for example: S:\ENS\Labs\Raspberry Pi"); Console.WriteLine(" paths in Linux use forward slashes for example: /home/pi/scripts/start.py\n"); Console.WriteLine("Please type the full path to the file you would like to transfer."); string local = Console.ReadLine(); Console.WriteLine("Please type the full path to where you would like the file transferred to."); string remote = Console.ReadLine(); c = new Transfer(pi, local, remote); Task task = new Task(c); threadPool.addTask(task); } break; case 5: foreach (RaspberryPi pi in pis) { Console.WriteLine("Which package would you like to install? Please make sure it is the correct linux package name"); string package = Console.ReadLine(); c = new Install(pi, package); Task task = new Task(c); threadPool.addTask(task); } break; case 6: foreach (RaspberryPi pi in pis) { c = new Setup(pi); Task task = new Task(c); threadPool.addTask(task); } break; case 7: foreach (RaspberryPi pi in pis) { c = new OpenShell(pi.getHostname()); Task task = new Task(c); threadPool.addTask(task); } break; } }