void ImportArgument(string argument)
{
string optionValuePair;
if (argument.StartsWith("--"))
{
optionValuePair = argument.Substring(2);
}
else if (argument.StartsWith("/") || argument.StartsWith("-"))
{
optionValuePair = argument.Substring(1);
}
else
{
urls.Add (argument);
return;
}
string option;
string value;
int indexOfEquals = optionValuePair.IndexOf(':');
if (indexOfEquals > 0)
{
option = optionValuePair.Substring(0, indexOfEquals);
value = optionValuePair.Substring(indexOfEquals + 1);
}
else
{
option = optionValuePair;
value = null;
}
switch (option)
{
case "appsettingurlkey":
case "urlkey":
appSettingURLKey = value;
break;
case "appsettingbaseurl":
case "baseurl":
appSettingBaseURL = value;
break;
case "d":
case "domain":
domain = value;
break;
case "l":
case "language":
language = value;
break;
case "n":
case "namespace":
ns = value;
break;
case "nologo":
noLogo = true;
break;
case "o":
case "out":
outFilename = value;
break;
case "p":
case "password":
password = value;
break;
case "protocol":
protocol = value;
break;
case "proxy":
proxyAddress = value;
break;
case "proxydomain":
case "pd":
proxyDomain = value;
break;
case "proxypassword":
case "pp":
proxyPassword = value;
break;
case "proxyusername":
case "pu":
proxyUsername = value;
break;
case "server":
style = ServiceDescriptionImportStyle.Server;
break;
case "u":
case "username":
username = value;
break;
case "verbose":
verbose = true;
break;
case "fields":
options &= ~CodeGenerationOptions.GenerateProperties;
break;
case "sample":
sampleSoap = value;
break;
case "?":
help = true;
break;
default:
if (argument.StartsWith ("/") && argument.IndexOfAny (Path.InvalidPathChars) == -1) {
urls.Add (argument);
break;
}
else
throw new Exception("Unknown option " + option);
}
}