private void PSErrorStreamHandler(object sender, DataAddedEventArgs e) { string text = ((PSDataCollection <ErrorRecord>)sender)[e.Index].ToString(); // supress encoding exceptions if (!text.Contains("Exception setting \"OutputEncoding\"")) { _viewModel.OutputLB += text; _viewModel.OutputLB += "\n"; } }
private void OnProgressAdded(object sender, DataAddedEventArgs e) { lock (_observationSync) { _output.Enqueue(new PSOutput <PSObject>(Progress[e.Index])); foreach (var observer in _psObservers) { observer.OnProgress(Progress[e.Index]); } } }
private static void Debug_DataAdded(object sender, DataAddedEventArgs e) { if (CurrentThread.Writer == null) { return; } var collection = sender as PSDataCollection <DebugRecord>; var record = collection[e.Index]; CurrentThread.Writer.WriteDebug(debugRecord: record); }
/// <summary> /// The output data added event handler. This event is called when /// data is added to the output pipe. It reads the data that is /// available and displays it on the console. /// </summary> /// <param name="sender">The output pipe this event is associated with.</param> /// <param name="e">Parameter is not used.</param> private static void Output_DataAdded(object sender, DataAddedEventArgs e) { PSDataCollection <PSObject> myp = (PSDataCollection <PSObject>)sender; Collection <PSObject> results = myp.ReadAll(); foreach (PSObject result in results) { Console.WriteLine(result.ToString()); } }
private static void Information_DataAdded(object sender, DataAddedEventArgs e) { if (CurrentThread.Pipeline == null || CurrentThread.Pipeline.Writer == null) { return; } var collection = sender as PSDataCollection <InformationRecord>; var record = collection[e.Index]; //CurrentThread._Logger.WriteInformation(informationRecord: record); }
private void OnVerboseAdded(object sender, DataAddedEventArgs e) { lock (_observationSync) { _output.Enqueue(new PSOutput <PSObject>(Verbose[e.Index])); foreach (var observer in _psObservers) { observer.OnVerbose(Verbose[e.Index].Message); } } }
private void ErrorOnDataAdded(object sender, DataAddedEventArgs e) { if (this.exception != null) { return; } var errorRecord = ((PSDataCollection <ErrorRecord>)sender).First(); this.exception = errorRecord.Exception; }
private void Output_DataAdded(object sender, DataAddedEventArgs e) { PSDataCollection <PSObject> myp = (PSDataCollection <PSObject>)sender; Collection <PSObject> results = myp.ReadAll(); foreach (PSObject result in results) { UpdateResultValue(result.ToString()); } }
private void Verbose_DataAdded(object sender, DataAddedEventArgs e) { Debug.WriteLine("[DEBUG] New Verbose Added"); foreach (var verboseRecord in this.ps.Streams.Verbose) { this.host.UI.WriteVerboseLine(verboseRecord.ToString() + "\r\n"); } ps.Streams.Verbose.Clear(); }
private void ProgressOnDataAdded(object sender, DataAddedEventArgs e) { if (this.progressReporter == null) { return; } var progressRecord = ((PSDataCollection <ProgressRecord>)sender).First(); this.progressReporter.Report(new ProgressData(progressRecord.PercentComplete, progressRecord.StatusDescription ?? progressRecord.CurrentOperation)); }
/// <summary> /// Event handler for the output stream. /// </summary> private static void OutputCollectionDataAdded(object sender, DataAddedEventArgs e, TraceWriter traceWriter) { // trace objects written to the output stream var source = (PSDataCollection <PSObject>)sender; var data = source[e.Index]; if (data != null) { var msg = data.ToString(); traceWriter.Info(msg); } }
private void Warning_DataAdded(object sender, DataAddedEventArgs e) { Debug.WriteLine("[DEBUG] New Warning Added"); foreach (var warningRecord in this.ps.Streams.Warning) { this.host.UI.WriteWarningLine(warningRecord.ToString() + "\r\n"); } ps.Streams.Warning.Clear(); }
private void Error_DataAdded(object sender, DataAddedEventArgs e) { Debug.WriteLine("[DEBUG] New Error Added"); foreach (var errRecord in this.ps.Streams.Error) { this.host.UI.WriteErrorLine(errRecord.ToString() + "\r\n"); } Debug.WriteLine("[DEBUG] Clearing errors"); ps.Streams.Error.Clear(); }
private void OnWarningAdded(object sender, DataAddedEventArgs args) { lock (_sync) { var warning = _powerShell.Streams.Warning[args.Index]; _outputCache.Enqueue(new PSOutput <TOutput>(warning)); foreach (var observer in _psObservers) { observer.OnWarning(warning.Message); } } }
private void OnErrorAdded(object sender, DataAddedEventArgs args) { lock (_sync) { var er = _powerShell.Streams.Error[args.Index]; _outputCache.Enqueue(new PSOutput <TOutput>(er)); foreach (var observer in _psObservers) { observer.OnError(er); } } }
private void OnInformationAdded(object sender, DataAddedEventArgs args) { lock (_sync) { var info = _powerShell.Streams.Information[args.Index]; _outputCache.Enqueue(new PSOutput <TOutput>(info)); foreach (var observer in _psObservers) { observer.OnInformation(info); } } }
private void OnProgressAdded(object sender, DataAddedEventArgs args) { lock (_sync) { var prog = _powerShell.Streams.Progress[args.Index]; _outputCache.Enqueue(new PSOutput <TOutput>(prog)); foreach (var observer in _psObservers) { observer.OnProgress(prog); } } }
void UpdateProgress(object sender, DataAddedEventArgs e) { Action <double> dialog = (value) => { Duration duration = new Duration(TimeSpan.FromMilliseconds(100)); DoubleAnimation doubleanimation = new DoubleAnimation(value, duration); pgbStatus.BeginAnimation(ProgressBar.ValueProperty, doubleanimation); }; var v = pgbStatus.Dispatcher.Invoke(() => pgbStatus.Value) + 1; pgbStatus.Dispatcher.Invoke(() => dialog(v)); }
private string Error_DataAdded(object sender, DataAddedEventArgs e) { if (sender is PSDataCollection <ErrorRecord> records) { return(string.Join(Environment.NewLine + Environment.NewLine, records.Select(r => r.Exception.Message + ": " + Environment.NewLine + r.ScriptStackTrace) )); } return(string.Empty); }
private void OnVerboseAdded(object sender, DataAddedEventArgs args) { lock (_sync) { var verbose = _powerShell.Streams.Verbose[args.Index]; _outputCache.Enqueue(new PSOutput <TOutput>(verbose)); foreach (var observer in _psObservers) { observer.OnVerbose(verbose.Message); } } }
private void OnErrorAdded(object sender, DataAddedEventArgs e) { lock (_observationSync) { _output.Enqueue(new PSOutput <PSObject>(Error[e.Index])); foreach (var observer in _psObservers) { observer.OnError(Error[e.Index]); } // IObserver<>.OnError should only be called for a terminating exception } }
private void Debug_DataAdded(object sender, DataAddedEventArgs e) { Debug.WriteLine("[DEBUG] New Debug Added"); foreach (var debugRecord in this.ps.Streams.Debug) { this.host.UI.WriteDebugLine(debugRecord.ToString() + "\r\n"); } ps.Streams.Debug.Clear(); }
private static void Warning_DataAdded(object sender, DataAddedEventArgs e) { if (CurrentThread._Logger == null) { return; } var collection = sender as PSDataCollection <WarningRecord>; var record = collection[e.Index]; CurrentThread._Logger.WriteWarning(message: record.Message); }
private static void Error_DataAdded(object sender, DataAddedEventArgs e) { if (CurrentThread._Logger == null) { return; } var collection = sender as PSDataCollection <ErrorRecord>; var record = collection[e.Index]; CurrentThread._Logger.WriteError(errorRecord: record); }
private static void Verbose_DataAdded(object sender, DataAddedEventArgs e) { if (CurrentThread._Logger == null) { return; } var collection = sender as PSDataCollection <VerboseRecord>; var record = collection[e.Index]; CurrentThread._Logger.WriteVerbose(record.Message); }
private void Progress_DataAdded(object sender, DataAddedEventArgs e) { PSDataCollection <ProgressRecord> progressRecords = (PSDataCollection <ProgressRecord>)sender; ProgressRecord progress = progressRecords[e.Index]; if (progress.PercentComplete >= 0 && progress.PercentComplete <= 100) { ProgressIntervalTitle = progress.Activity; ProgressIntervalDetails = progress.StatusDescription; ProgressIntervalPercent = progress.PercentComplete; } }
private void Error_DataAdded(object sender, DataAddedEventArgs e) { var records = (PSDataCollection <ErrorRecord>)sender; Dispatcher.BeginInvoke(new Action(() => { txtInstallStatusErrors.Text = txtInstallStatusErrors.Text + lineBreak + records[e.Index].ToString(); outputErrors.ScrollToBottom(); txtOutputErrors.Text = string.Format(CultureInfo.CurrentCulture, UserDisplay.UIOutputErrors, ++CountErrors); }), DispatcherPriority.ContextIdle); }
private void WriteOutput <T>(object sender, DataAddedEventArgs ea, Action <object> outputHandler) { var streamObjectsReceived = sender as PSDataCollection <T>; var currentStreamRecord = streamObjectsReceived[ea.Index]; string data; OutputLevelName type; switch (currentStreamRecord) { case DebugRecord d: type = OutputLevelName.Debug; data = d.Message; break; case ErrorRecord e: type = OutputLevelName.Error; data = e.Exception.ToString(); break; case InformationRecord i: type = OutputLevelName.Info; data = i.MessageData.ToString(); break; case ProgressRecord p: type = OutputLevelName.Progress; data = $"{p.Activity}... {p.StatusDescription} {p.PercentComplete}%"; break; case PSObject ps: type = OutputLevelName.Data; data = currentStreamRecord.ToString(); break; case VerboseRecord v: type = OutputLevelName.Verbose; data = v.Message; break; case WarningRecord w: type = OutputLevelName.Warning; data = w.Message; break; default: type = OutputLevelName.Unknown; data = currentStreamRecord.ToString(); break; } outputHandler(new OutputRecord(type, data)); }
private void OnProgress(object sender, DataAddedEventArgs e) { var psDataCollection = sender as PSDataCollection <ProgressRecord>; if (psDataCollection != null) { var currentProgress = psDataCollection[e.Index]; if (currentProgress.PercentComplete >= 0) { _runnerConfiguration.OnProgress(currentProgress.PercentComplete); } } }
private void Error_DataAdded(object sender, DataAddedEventArgs e) { Debug.WriteLine("[DEBUG] New Error Added"); Collection <ErrorRecord> errors = this.ps.Streams.Error.ReadAll(); Debug.WriteLine("[DEBUG] Clearing Errors"); this.ps.Streams.Error.Clear(); foreach (var errRecord in errors) { this.host.UI.WriteErrorLine(errRecord.ToString()); } }