/********************************************************************++ Copyright (c) Microsoft Corporation. All rights reserved. --********************************************************************/ using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Management.Automation; using System.Management.Automation.Internal; using System.Management.Automation.Host; using System.Text; namespace System.Management.Automation { /// /// This class holds the data for missing mandatory parameters for each parameter set as we /// are trying to process which parameter set to use based on the missing mandatory parameters /// /// internal class ParameterSetPromptingData { internal ParameterSetPromptingData(uint parameterSet, bool isDefaultSet) { this.parameterSet = parameterSet; this.isDefaultSet = isDefaultSet; } /// /// True if this parameter set represents the default parameter set /// /// internal bool IsDefaultSet { get { return isDefaultSet; } } private bool isDefaultSet; /// /// The parameter set this data represents /// /// internal uint ParameterSet { get { return parameterSet; } } private uint parameterSet = 0; /// /// True if the parameter set represents parameters in all the parameter sets /// internal bool IsAllSet { get { return parameterSet == uint.MaxValue; } } /// /// Gets the parameters that take pipeline input and are mandatory in this parameter set /// internal Dictionary PipelineableMandatoryParameters { get { return pipelineableMandatoryParameters; } } private Dictionary pipelineableMandatoryParameters = new Dictionary(); /// /// Gets the parameters that take pipeline input by value, and are mandatory in this parameter set /// internal Dictionary PipelineableMandatoryByValueParameters { get { return pipelineableMandatoryByValueParameters; } } private Dictionary pipelineableMandatoryByValueParameters = new Dictionary(); /// /// Gets the parameters that take pipeline input by property name, and are mandatory in this parameter set /// internal Dictionary PipelineableMandatoryByPropertyNameParameters { get { return pipelineableMandatoryByPropertyNameParameters; } } private Dictionary pipelineableMandatoryByPropertyNameParameters = new Dictionary(); /// /// Gets the parameters that do not take pipeline input and are mandatory in this parameter set /// internal Dictionary NonpipelineableMandatoryParameters { get { return nonpipelineableMandatoryParameters; } } private Dictionary nonpipelineableMandatoryParameters = new Dictionary(); } }