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 PackageManagement that contains functions that can be used to interact with its Provider</param> public void GetDynamicOptions(string category, Request request) { if (request == null) { throw new ArgumentNullException("request"); } if (category == null) { request.Warning(Resources.Messages.UnknownCategory, PackageProviderName, "GetDynamicOptions", category); return; } switch ((category ?? string.Empty).ToLowerInvariant()) { case "install": // put any options required for install/uninstall/getinstalledpackages request.YieldDynamicOption("Destination", Constants.OptionType.Folder, false); request.YieldDynamicOption("ExcludeVersion", Constants.OptionType.Switch, false); request.YieldDynamicOption("Scope", Constants.OptionType.String, false, new[] { Constants.CurrentUser, Constants.AllUsers }); request.YieldDynamicOption("SkipDependencies", Constants.OptionType.Switch, false); //request.YieldDynamicOption("ContinueOnFailure", Constants.OptionType.Switch, false); break; case "source": // put any options for package sources request.YieldDynamicOption("ConfigFile", Constants.OptionType.String, false); request.YieldDynamicOption("SkipValidate", Constants.OptionType.Switch, false); break; case "package": // put any options used when searching for packages request.YieldDynamicOption("Headers", Constants.OptionType.StringArray, false); request.YieldDynamicOption("FilterOnTag", Constants.OptionType.StringArray, false); request.YieldDynamicOption("Contains", Constants.OptionType.String, false); request.YieldDynamicOption("AllowPrereleaseVersions", Constants.OptionType.Switch, false); break; default: request.Warning(Resources.Messages.UnknownCategory, PackageProviderName, "GetDynamicOptions", category); break; } }
/// <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 PackageManagement that contains functions that can be used to interact with its Provider</param> public void GetDynamicOptions(string category, Request request) { if (request == null){ throw new ArgumentNullException("request"); } if (category == null) { request.Warning(Resources.Messages.UnkownCategory, PackageProviderName, "GetDynamicOptions", category); return; } switch ((category ?? string.Empty).ToLowerInvariant()) { case "install": // put any options required for install/uninstall/getinstalledpackages request.YieldDynamicOption("Destination", Constants.OptionType.Folder, false); request.YieldDynamicOption("ExcludeVersion", Constants.OptionType.Switch, false); request.YieldDynamicOption("Scope", Constants.OptionType.String, false, new[] { Constants.CurrentUser, Constants.AllUsers }); //request.YieldDynamicOption("SkipDependencies", Constants.OptionType.Switch, false); //request.YieldDynamicOption("ContinueOnFailure", Constants.OptionType.Switch, false); break; case "source": // put any options for package sources request.YieldDynamicOption("ConfigFile", Constants.OptionType.String, false); request.YieldDynamicOption("SkipValidate", Constants.OptionType.Switch, false); break; case "package": // put any options used when searching for packages request.YieldDynamicOption("Headers", Constants.OptionType.StringArray, false); request.YieldDynamicOption("FilterOnTag", Constants.OptionType.StringArray, false); request.YieldDynamicOption("Contains", Constants.OptionType.String, false); request.YieldDynamicOption("AllowPrereleaseVersions", Constants.OptionType.Switch, false); break; default: request.Warning(Resources.Messages.UnkownCategory, PackageProviderName, "GetDynamicOptions", category); break; } }