/
githubmirror
/
PowerShell
Обзор
Документация
Войти
/
githubmirror
/
PowerShell
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/System.Management.Automation/engine/ProviderInterfaces.cs
167 строк
5 KB
xtqqczze
Autofix SA1518: The code must not contain extra blank lines at the end of the file (#13574)
11 ноя 2020, 10:15
Не верифицирован
11 ноя 2020, 10:15
4d2965a
Код
Авторство
О чём код?
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Collections.Generic; using System.Collections.ObjectModel; using System.Management.Automation.Provider; using Dbg = System.Management.Automation; namespace System.Management.Automation { /// <summary> /// Exposes the APIs to manage the Cmdlet Providers the Cmdlet base class. The methods of this class /// get and set provider data in session state. /// </summary> public sealed class CmdletProviderManagementIntrinsics { #region Constructors /// <summary> /// Hide the default constructor since we always require an instance of SessionState. /// </summary> private CmdletProviderManagementIntrinsics() { Dbg.Diagnostics.Assert( false, "This constructor should never be called. Only the constructor that takes an instance of SessionState should be called."); } /// <summary> /// The facade for managing providers. /// </summary> /// <param name="sessionState"> /// The session to which this is a facade. /// </param> /// <exception cref="ArgumentNullException"> /// If <paramref name="sessionState"/> is null. /// </exception> internal CmdletProviderManagementIntrinsics(SessionStateInternal sessionState) { if (sessionState == null) { throw PSTraceSource.NewArgumentNullException(nameof(sessionState)); } _sessionState = sessionState; } #endregion Constructors #region Public methods /// <summary> /// Gets the specified provider(s). /// </summary> /// <param name="name"> /// Either the fully-qualified or friendly name for the provider. /// </param> /// <returns> /// The provider information for the specified provider. /// </returns> /// <exception cref="ArgumentException"> /// If <paramref name="name"/> is null or empty. /// </exception> /// <exception cref="ProviderNotFoundException"> /// If the provider specified by <paramref name="name"/> is not currently /// loaded. /// </exception> public Collection<ProviderInfo> Get(string name) { Dbg.Diagnostics.Assert( _sessionState != null, "The only constructor for this class should always set the sessionState field"); // Parameter validation is done in the session state object return _sessionState.GetProvider(name); } /// <summary> /// Gets the specified provider(s). /// </summary> /// <param name="name"> /// Either the fully-qualified or friendly name for the provider. /// </param> /// <returns> /// The provider information for the specified provider. /// </returns> /// <exception cref="ArgumentException"> /// If <paramref name="name"/> is null or empty. /// </exception> /// <exception cref="ProviderNameAmbiguousException"> /// If <paramref name="name"/> is not PSSnapin-qualified and more than one provider /// exists with the specified name. /// </exception> /// <exception cref="ProviderNotFoundException"> /// If the provider specified by <paramref name="name"/> is not currently /// loaded. /// </exception> public ProviderInfo GetOne(string name) { Dbg.Diagnostics.Assert( _sessionState != null, "The only constructor for this class should always set the sessionState field"); // Parameter validation is done in the session state object return _sessionState.GetSingleProvider(name); } /// <summary> /// Gets all the Cmdlet Providers that are loaded. /// </summary> public IEnumerable<ProviderInfo> GetAll() { Dbg.Diagnostics.Assert( _sessionState != null, "The only constructor for this class should always set the sessionState field"); return _sessionState.ProviderList; } #endregion Public methods #region Internal methods /// <summary> /// Determines if the specified provider has the specified capability. /// </summary> /// <param name="capability"> /// The capability to check the provider for. /// </param> /// <param name="provider"> /// The provider information to use for the check. /// </param> /// <returns> /// True, if the provider has the capability, false otherwise. /// </returns> internal static bool CheckProviderCapabilities( ProviderCapabilities capability, ProviderInfo provider) { // Check the capability return (provider.Capabilities & capability) != 0; } /// <summary> /// Gets the count of the number of providers that are loaded. /// </summary> internal int Count { get { return _sessionState.ProviderCount; } } #endregion Internal methods #region private data private readonly SessionStateInternal _sessionState; #endregion private data } }