Exemplo n.º 1
0
        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";
            }
        }
Exemplo n.º 2
0
 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]);
         }
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        /// <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());
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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);
         }
     }
 }
Exemplo n.º 7
0
        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());
            }
        }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 12
0
        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();
        }
Exemplo n.º 13
0
        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);
         }
     }
 }
Exemplo n.º 18
0
        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);
         }
     }
 }
Exemplo n.º 21
0
 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
     }
 }
Exemplo n.º 22
0
        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();
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 24
0
        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);
        }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 28
0
        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));
        }
Exemplo n.º 29
0
        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);
                }
            }
        }
Exemplo n.º 30
0
        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());
            }
        }