/// <summary> /// Register output stream. /// </summary> /// <param name="output_stream"></param> public static void UnRegisterOutputStream( IOutputStream output_stream) { OutputStreamHost.InitializeIfNeeded(); _output_streams.Remove(output_stream); }
/// <summary> /// Reports progress. /// </summary> /// <param name="progress"></param> /// <param name="key"></param> /// <param name="message"></param> public static void ReportProgress(double progress, string key, string message) { OutputStreamHost.InitializeIfNeeded(); if (progress > 1) { progress = 1; } if (progress < 0) { progress = 0; } _previous_progress = progress; foreach (IOutputStream stream in _output_streams) { stream.ReportProgress(progress, key, message); } if (_previous_progress == 1) { foreach (IOutputStream stream in _output_streams) { stream.WriteLine(string.Empty); } _previous_progress = 0; } }
/// <summary> /// Writes text. /// </summary> /// <param name="text"></param> public static void Write(string text) { OutputStreamHost.InitializeIfNeeded(); if (_previous_progress > 0) { _previous_progress = 0; OutputStreamHost.WriteLine(); } foreach (IOutputStream stream in _output_streams) { stream.Write(text); } }