/********************************************************************++
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();
}
}