예제 #1
0
        /// <summary>
        /// Register output stream.
        /// </summary>
        /// <param name="output_stream"></param>
        public static void UnRegisterOutputStream(
            IOutputStream output_stream)
        {
            OutputStreamHost.InitializeIfNeeded();

            _output_streams.Remove(output_stream);
        }
예제 #2
0
 /// <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;
     }
 }
예제 #3
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);
            }
        }