public static List<TizenDevice> AssertAnyDeviceReady(Command.WaitingForProcessToExit waitingForProcessToExit) { List<TizenDevice> devices = GetDevices(waitingForProcessToExit); if (devices.Count == 0) { throw new ApplicationException("No connected Tizen devices found! Please connect a device and try deploying again."); } return devices; }
private static List<TizenDevice> GetDevices(Command.WaitingForProcessToExit waitingForProcessToExit) { int num = 2; string str = ""; List<TizenDevice> list = new List<TizenDevice>(); while (true) { string[] command = new string[] { "devices" }; str = Run(command, waitingForProcessToExit, "Unable to list connected devices. Please make sure the Tizen SDK is installed and is properly configured in the Editor. See the Console for more details. "); if (str.Contains("error")) { string[] textArray2 = new string[] { "devices" }; str = Run(textArray2, waitingForProcessToExit, "Unable to list connected devices. Please make sure the Tizen SDK is installed and is properly configured in the Editor. See the Console for more details. "); } char[] separator = new char[] { '\r', '\n' }; foreach (string str2 in str.Split(separator)) { if (!str2.Trim().EndsWith("attached") && (str2.Length > 0)) { char[] chArray2 = new char[] { ' ', '\t' }; list.Add(new TizenDevice(str2.Split(chArray2)[0])); } } if (list.Count > 0) { return list; } KillServer(waitingForProcessToExit); if (--num == 0) { break; } Console.WriteLine(string.Format("SDB - No device found, will retry {0} time(s).", num)); } UnityEngine.Debug.LogWarning("SDB - No device found - output:\n" + str); return list; }
public static void StartServer(Command.WaitingForProcessToExit waitingForProcessToExit) { Process process2 = new Process { StartInfo = { FileName = sdb_exe, Arguments = "start-server", WorkingDirectory = sdk_tools, CreateNoWindow = true, UseShellExecute = Application.platform == RuntimePlatform.WindowsEditor } }; using (Process process = process2) { process.Start(); do { if (waitingForProcessToExit != null) { waitingForProcessToExit(null); } } while (!process.WaitForExit(100)); } }
private static string RunInternal(string[] command, Command.WaitingForProcessToExit waitingForProcessToExit, string errorMsg) { ProcessStartInfo psi = new ProcessStartInfo { FileName = sdb_exe, Arguments = string.Join(" ", command), WorkingDirectory = sdk_tools, CreateNoWindow = true, StandardOutputEncoding = Encoding.UTF8 }; return Command.Run(psi, waitingForProcessToExit, errorMsg); }
public static string Run(string[] command, Command.WaitingForProcessToExit waitingForProcessToExit, string errorMsg) { StartServer(waitingForProcessToExit); return RunInternal(command, waitingForProcessToExit, errorMsg); }
public static void KillServer(Command.WaitingForProcessToExit waitingForProcessToExit) { string[] command = new string[] { "kill-server" }; RunInternal(command, waitingForProcessToExit, "Unable to kill the sdb server. Please make sure the Tizen SDK is installed and is properly configured in the Editor. See the Console for more details. "); for (int i = 0; i < 50; i++) { waitingForProcessToExit(null); Thread.Sleep(100); } }