public abstract YieldDynamicOption ( string name, string expectedType, bool isRequired ) : bool | ||
name | string | the provider-defined name of the option |
expectedType | string | one of ['string','int','path','switch'] |
isRequired | bool | if the parameter is mandatory |
return | bool |
/// <summary> /// Returns dynamic option definitions to the HOST /// /// example response: /// request.YieldDynamicOption( "MySwitch", OptionType.String.ToString(), false); /// /// </summary> /// <param name="category">The category of dynamic options that the HOST is interested in</param> /// <param name="request">An object passed in from the CORE that contains functions that can be used to interact with the CORE and HOST</param> public void GetDynamicOptions(string category, Request request) { request.Debug("Calling '{0}::GetDynamicOptions' {1}", PackageProviderName, category); switch ((category ?? string.Empty).ToLowerInvariant()) { case "package": //request.YieldDynamicOption("FilterOnTag", Constants.OptionType.StringArray, false); //request.YieldDynamicOption("Contains", Constants.OptionType.String, false); //request.YieldDynamicOption("AllowPrereleaseVersions", Constants.OptionType.Switch, false); break; case "source": request.YieldDynamicOption("ConfigFile", Constants.OptionType.String, false); //request.YieldDynamicOption("SkipValidate", Constants.OptionType.Switch, false); break; // applies to Get-Package, Install-Package, Uninstall-Package case "install": request.YieldDynamicOption("Destination", "Folder", false); //request.YieldDynamicOption("SkipDependencies", Constants.OptionType.Switch, false); //request.YieldDynamicOption("ContinueOnFailure", Constants.OptionType.Switch, false); //request.YieldDynamicOption("ExcludeVersion", Constants.OptionType.Switch, false); break; default: request.Debug("Unknown category for '{0}::GetDynamicOptions': {1}", PackageProviderName, category); break; } }