/// <summary>
        /// Constructor for HostInfo.
        /// </summary>
        internal HostInfo(PSHost host)
        {
            // Set these flags based on investigating the host.
            CheckHostChain(host, ref _isHostNull, ref _isHostUINull, ref _isHostRawUINull);

            // If raw UI is non-null then get the host-info object.
            if (!_isHostUINull && !_isHostRawUINull)
            {
                _hostDefaultData = HostDefaultData.Create(host.UI.RawUI);
            }
        }
        /// <summary>
        /// Returns null if host is null or if reading RawUI fields fails; otherwise returns a valid object.
        /// </summary>
        internal static HostDefaultData Create(PSHostRawUserInterface hostRawUI)
        {
            if (hostRawUI == null)
            {
                return(null);
            }

            HostDefaultData hostDefaultData = new HostDefaultData();

            // Try to get values from the host. Catch-all okay because of 3rd party call-out.

            // Set ForegroundColor.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.ForegroundColor, hostRawUI.ForegroundColor);
            }
            catch (Exception)
            {
            }

            // Set BackgroundColor.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.BackgroundColor, hostRawUI.BackgroundColor);
            }
            catch (Exception)
            {
            }

            // Set CursorPosition.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.CursorPosition, hostRawUI.CursorPosition);
            }
            catch (Exception)
            {
            }

            // Set WindowPosition.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowPosition, hostRawUI.WindowPosition);
            }
            catch (Exception)
            {
            }

            // Set CursorSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.CursorSize, hostRawUI.CursorSize);
            }
            catch (Exception)
            {
            }

            // Set BufferSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.BufferSize, hostRawUI.BufferSize);
            }
            catch (Exception)
            {
            }

            // Set WindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowSize, hostRawUI.WindowSize);
            }
            catch (Exception)
            {
            }

            // Set MaxWindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.MaxWindowSize, hostRawUI.MaxWindowSize);
            }
            catch (Exception)
            {
            }

            // Set MaxPhysicalWindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.MaxPhysicalWindowSize, hostRawUI.MaxPhysicalWindowSize);
            }
            catch (Exception)
            {
            }

            // Set WindowTitle.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowTitle, hostRawUI.WindowTitle);
            }
            catch (Exception)
            {
            }

            return(hostDefaultData);
        }
示例#3
0
        internal static HostDefaultData Create(PSHostRawUserInterface hostRawUI)
        {
            if (hostRawUI == null)
            {
                return(null);
            }
            HostDefaultData data = new HostDefaultData();

            try
            {
                data.SetValue(HostDefaultDataId.ForegroundColor, hostRawUI.ForegroundColor);
            }
            catch (Exception exception)
            {
                CommandProcessorBase.CheckForSevereException(exception);
            }
            try
            {
                data.SetValue(HostDefaultDataId.BackgroundColor, hostRawUI.BackgroundColor);
            }
            catch (Exception exception2)
            {
                CommandProcessorBase.CheckForSevereException(exception2);
            }
            try
            {
                data.SetValue(HostDefaultDataId.CursorPosition, hostRawUI.CursorPosition);
            }
            catch (Exception exception3)
            {
                CommandProcessorBase.CheckForSevereException(exception3);
            }
            try
            {
                data.SetValue(HostDefaultDataId.WindowPosition, hostRawUI.WindowPosition);
            }
            catch (Exception exception4)
            {
                CommandProcessorBase.CheckForSevereException(exception4);
            }
            try
            {
                data.SetValue(HostDefaultDataId.CursorSize, hostRawUI.CursorSize);
            }
            catch (Exception exception5)
            {
                CommandProcessorBase.CheckForSevereException(exception5);
            }
            try
            {
                data.SetValue(HostDefaultDataId.BufferSize, hostRawUI.BufferSize);
            }
            catch (Exception exception6)
            {
                CommandProcessorBase.CheckForSevereException(exception6);
            }
            try
            {
                data.SetValue(HostDefaultDataId.WindowSize, hostRawUI.WindowSize);
            }
            catch (Exception exception7)
            {
                CommandProcessorBase.CheckForSevereException(exception7);
            }
            try
            {
                data.SetValue(HostDefaultDataId.MaxWindowSize, hostRawUI.MaxWindowSize);
            }
            catch (Exception exception8)
            {
                CommandProcessorBase.CheckForSevereException(exception8);
            }
            try
            {
                data.SetValue(HostDefaultDataId.MaxPhysicalWindowSize, hostRawUI.MaxPhysicalWindowSize);
            }
            catch (Exception exception9)
            {
                CommandProcessorBase.CheckForSevereException(exception9);
            }
            try
            {
                data.SetValue(HostDefaultDataId.WindowTitle, hostRawUI.WindowTitle);
            }
            catch (Exception exception10)
            {
                CommandProcessorBase.CheckForSevereException(exception10);
            }
            return(data);
        }
示例#4
0
        /// <summary>
        /// Constructor for HostInfo.
        /// </summary>
        internal HostInfo(PSHost host)
        {
            // Set these flags based on investigating the host.
            CheckHostChain(host, ref _isHostNull, ref _isHostUINull, ref _isHostRawUINull);

            // If raw UI is non-null then get the host-info object.
            if (!_isHostUINull && !_isHostRawUINull)
            {
                _hostDefaultData = HostDefaultData.Create(host.UI.RawUI);
            }
        }
示例#5
0
        /// <summary>
        /// Returns null if host is null or if reading RawUI fields fails; otherwise returns a valid object.
        /// </summary>
        internal static HostDefaultData Create(PSHostRawUserInterface hostRawUI)
        {
            if (hostRawUI == null)
            {
                return null;
            }

            HostDefaultData hostDefaultData = new HostDefaultData();

            // Try to get values from the host. Catch-all okay because of 3rd party call-out.

            // Set ForegroundColor.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.ForegroundColor, hostRawUI.ForegroundColor);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set BackgroundColor.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.BackgroundColor, hostRawUI.BackgroundColor);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set CursorPosition.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.CursorPosition, hostRawUI.CursorPosition);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set WindowPosition.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowPosition, hostRawUI.WindowPosition);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set CursorSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.CursorSize, hostRawUI.CursorSize);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set BufferSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.BufferSize, hostRawUI.BufferSize);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set WindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowSize, hostRawUI.WindowSize);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set MaxWindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.MaxWindowSize, hostRawUI.MaxWindowSize);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set MaxPhysicalWindowSize.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.MaxPhysicalWindowSize, hostRawUI.MaxPhysicalWindowSize);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            // Set WindowTitle.
            try
            {
                hostDefaultData.SetValue(HostDefaultDataId.WindowTitle, hostRawUI.WindowTitle);
            }
            catch (Exception e)
            {
                CommandProcessorBase.CheckForSevereException(e);
            }

            return hostDefaultData;
        }
示例#6
0
 internal static HostDefaultData Create(PSHostRawUserInterface hostRawUI)
 {
     if (hostRawUI == null)
     {
         return null;
     }
     HostDefaultData data = new HostDefaultData();
     try
     {
         data.SetValue(HostDefaultDataId.ForegroundColor, hostRawUI.ForegroundColor);
     }
     catch (Exception exception)
     {
         CommandProcessorBase.CheckForSevereException(exception);
     }
     try
     {
         data.SetValue(HostDefaultDataId.BackgroundColor, hostRawUI.BackgroundColor);
     }
     catch (Exception exception2)
     {
         CommandProcessorBase.CheckForSevereException(exception2);
     }
     try
     {
         data.SetValue(HostDefaultDataId.CursorPosition, hostRawUI.CursorPosition);
     }
     catch (Exception exception3)
     {
         CommandProcessorBase.CheckForSevereException(exception3);
     }
     try
     {
         data.SetValue(HostDefaultDataId.WindowPosition, hostRawUI.WindowPosition);
     }
     catch (Exception exception4)
     {
         CommandProcessorBase.CheckForSevereException(exception4);
     }
     try
     {
         data.SetValue(HostDefaultDataId.CursorSize, hostRawUI.CursorSize);
     }
     catch (Exception exception5)
     {
         CommandProcessorBase.CheckForSevereException(exception5);
     }
     try
     {
         data.SetValue(HostDefaultDataId.BufferSize, hostRawUI.BufferSize);
     }
     catch (Exception exception6)
     {
         CommandProcessorBase.CheckForSevereException(exception6);
     }
     try
     {
         data.SetValue(HostDefaultDataId.WindowSize, hostRawUI.WindowSize);
     }
     catch (Exception exception7)
     {
         CommandProcessorBase.CheckForSevereException(exception7);
     }
     try
     {
         data.SetValue(HostDefaultDataId.MaxWindowSize, hostRawUI.MaxWindowSize);
     }
     catch (Exception exception8)
     {
         CommandProcessorBase.CheckForSevereException(exception8);
     }
     try
     {
         data.SetValue(HostDefaultDataId.MaxPhysicalWindowSize, hostRawUI.MaxPhysicalWindowSize);
     }
     catch (Exception exception9)
     {
         CommandProcessorBase.CheckForSevereException(exception9);
     }
     try
     {
         data.SetValue(HostDefaultDataId.WindowTitle, hostRawUI.WindowTitle);
     }
     catch (Exception exception10)
     {
         CommandProcessorBase.CheckForSevereException(exception10);
     }
     return data;
 }