internal override void EndProcessing() { base.EndProcessing(); if (_command != null) { // shut down the command processor, if we ever used it Array results = _command.ShutDown(); if (results != null) { foreach (object o in results) { ProcessObject(PSObjectHelper.AsPSObject(o)); } } } if (this.LineOutput.RequiresBuffering) { // we need to notify the interface implementor that // we are about to do the playback LineOutput.DoPlayBackCall playBackCall = new LineOutput.DoPlayBackCall(this.DrainCache); this.LineOutput.ExecuteBufferPlayBack(playBackCall); } else { // we drain the cache ourselves DrainCache(); } }
internal override void ExecuteBufferPlayBack(LineOutput.DoPlayBackCall playback) { this.playbackCall = playback; this.DoPrint(); }