PowerShellHtmlConsole.PSWrapper.PSWrapper C# (CSharp) Method

PSWrapper() public method

public PSWrapper ( InputOutputBuffers buffers, System.Action exitCallback ) : System
buffers InputOutputBuffers
exitCallback System.Action
return System
        public PSWrapper(InputOutputBuffers buffers, Action exitCallback)
        {
            _buffers = buffers;
            _exitCallback = exitCallback;
            _psRemoteHost = new PSRemoteHost(buffers, this);

            var sessionState = InitialSessionState.CreateDefault();
            sessionState.Variables.Add(new SessionStateVariableEntry("cls_handler", new ClearHostHandler(buffers),"cls_handler"));

            _runspace = RunspaceFactory.CreateRunspace(_psRemoteHost, sessionState);
            _runspace.Open();

            using (var powerShell = PowerShell.Create())
            {
                powerShell.Runspace = _runspace;
                powerShell.AddScript("function Clear-Host() { $cls_handler.Clear() }");
                powerShell.Invoke();
            }
        }