Пример #1
0
        protected override void ProcessRecord()
        {
            using (ProgressManager = new ProgressManager(this))
            {
                switch (ParameterSetName)
                {
                case "ChainSourceId":
                    var sourceId = ProgressManager.GetLastSourceId();
                    CommandRuntime.WriteProgress(sourceId, new ProgressRecord(2, $"Test-Reflection2 Activity for object '{Object}' with source ID '{sourceId}'", "Test-Reflection2 Description")
                    {
                        ParentActivityId = 1
                    });
                    Thread.Sleep(1);
                    WriteObject(Convert.ToInt32(((PSObject)Object).BaseObject) * 2);
                    break;

                case "Downstream":
                    WriteObject(Object);
                    break;

                case "CmdletInput":
                    WriteObject(cacheManager.GetCmdletPipelineInput().List, true);
                    break;

                default:
                    throw new NotImplementedException(ParameterSetName);
                }
            }
        }
Пример #2
0
        void PollForResults(bool drainQueues = false)
        {
            ShouldProcessPrompt process;

            while (_process.TryDequeue(out process))
            {
                process.Completer.TrySetResult(CommandRuntime.ShouldProcess(process.Target, process.Message));
            }

            ShouldContinuePrompt shouldContinue;

            while (_continue.TryDequeue(out shouldContinue))
            {
                shouldContinue.Completer.TrySetResult(CommandRuntime.ShouldContinue(shouldContinue.Query, shouldContinue.Caption));
            }

            ErrorRecord exception;

            while (_error.TryDequeue(out exception))
            {
                CommandRuntime.WriteError(exception);
            }

            CmdletOutput output;

            while (_output.TryDequeue(out output))
            {
                CommandRuntime.WriteObject(output.Output, output.Enumerate);
            }

            string logMessage;

            while (_warning.TryDequeue(out logMessage))
            {
                CommandRuntime.WriteWarning(logMessage);
            }

            while (_verbose.TryDequeue(out logMessage))
            {
                CommandRuntime.WriteVerbose(logMessage);
            }

            while (_debug.TryDequeue(out logMessage))
            {
                CommandRuntime.WriteDebug(logMessage);
            }

            ProgressRecord progress;

            while (_progress.TryDequeue(out progress))
            {
                CommandRuntime.WriteProgress(progress);
            }

            foreach (var progressItem in _progressTasks.Keys)
            {
                ReportTaskProgress(progressItem);
            }
        }
Пример #3
0
 internal void WriteProgress(long sourceId, ProgressRecord progressRecord)
 {
     if (CommandRuntime == null)
     {
         throw new NotImplementedException("WriteProgress");
     }
     CommandRuntime.WriteProgress(sourceId, progressRecord);
 }
Пример #4
0
 public void WriteProgress(ProgressRecord progressRecord)
 {
     if (CommandRuntime == null)
     {
         throw new NotImplementedException("WriteProgress");
     }
     CommandRuntime.WriteProgress(progressRecord);
 }
Пример #5
0
 protected override void EndProcessing()
 {
     if (sourceId >= 0)
     {
         CommandRuntime.WriteProgress(sourceId, new ProgressRecord(3, "Activity", "Description")
         {
             ParentActivityId = 2,
             RecordType       = ProgressRecordType.Completed
         });
     }
 }
Пример #6
0
        protected override void ProcessRecord()
        {
            using (ProgressManager = new ProgressManager(this))
            {
                switch (ParameterSetName)
                {
                case "ChainSourceId":
                    var sourceId = ProgressManager.GetLastSourceId();
                    CommandRuntime.WriteProgress(sourceId, new ProgressRecord(3, $"Test-Reflection3 Activity for object '{Object}' with source ID '{sourceId}'", "Test-Reflection3 Description")
                    {
                        ParentActivityId = 2
                    });
                    Thread.Sleep(1);
                    WriteObject(sourceId);
                    break;

                default:
                    throw new NotImplementedException(ParameterSetName);
                }
            }
        }
Пример #7
0
        private void DisplayRes()
        {
            string prog = string.Format("Count={0,4}", count);

            foreach (var kv in data)
            {
                var     parm = kv.Key;
                dynamic dat;

                if (Bytes)
                {
                    dat = new ByteData(kv.Value);
                }
                else
                {
                    dat = kv.Value;
                }

                prog += string.Format("{0,10}: {1,4}={2,8}{3,8}={4,8}{5,8}={6,8}{7,8}={8,8}", parm, "Sum", dat.Sum, "Average", dat.Average, "Max", dat.Maximum, "Min", dat.Minimum);
            }
            pr.CurrentOperation = prog;
            CommandRuntime.WriteProgress(pr);
        }