public static void stop() { if (isRunning) { isRunning = false; StandardStreamRedirector.close(StandardStreamRedirector.StreamFileDescriptor.Output); onRedirectionStoped(); } }
public static void monitoring() { string buffer = string.Empty; while (isRunning) { buffer = StandardStreamRedirector.getBuffer(StandardStreamRedirector.StreamFileDescriptor.Output); if (buffer.Length > 0) onRedirectionPerformed(buffer); } }
public static void start() { if (!isRunning) { isRunning = true; StandardStreamRedirector.open(StandardStreamRedirector.StreamFileDescriptor.Output, null); onRedirectionStarted(); monitoringThread = new Thread(new ThreadStart(monitoring)); monitoringThread.Start(); } }
public void Dispose() { StandardStreamRedirector.close(StandardStreamRedirector.StreamFileDescriptor.Error); if (!errorLogScanned) { scanErrorLog(); } if (!hasError) { File.Delete(tempLogFilePath); } else { zipLogFiles(); } }
public FileManager(ActionListener actionListener = null) { this.actionListener = actionListener; if (!Directory.Exists(inputPath)) { Directory.CreateDirectory(inputPath); } if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } if (!Directory.Exists(tempProgressPath)) { Directory.CreateDirectory(tempProgressPath); } StandardStreamRedirector.open(StandardStreamRedirector.StreamFileDescriptor.Error, tempLogFilePath); }
public static void writeStandardOutput(string message) { StandardStreamRedirector.writeStandardStream(StandardStreamRedirector.StreamFileDescriptor.Output, message); }
public static void dispose() { stop(); StandardStreamRedirector.close(StandardStreamRedirector.StreamFileDescriptor.Output); }
public void scanErrorLog() { onLogFileScanningStarted(); hasError = false; try { string[] prefixes = new string[] { "Saving file", "File", "Dimension", "Output", "Lossless", "* Header", "* Lossless", "* Precision", "* Palette size", "PREDICTION", "CROSS-COLOR-TRANSFORM", "SUBTRACT-GREEN", "PALETTE", "Saved file", "bytes used", "line count", "mode-partition", "Residuals bytes", "macroblocks", "quantizer", "filter level", "block count", "intra", "skipped block", "|" }; StringReader reader = new StringReader(StandardStreamRedirector.getBuffer(StandardStreamRedirector.StreamFileDescriptor.Error)); string line; while ((line = reader.ReadLine()) != null) { bool err = true; if (line.Trim().Length > 0) { foreach (string prefix in prefixes) { if (line.Trim().StartsWith(prefix)) { err = false; break; } } if (err) { hasError = true; break; } } } reader.Close(); } catch (Exception e) { Console.Error.WriteLine(e.ToString()); hasError = true; } finally { errorLogScanned = true; onLogFileScanningPerformed(hasError); } }