public static CliCommand GetCommand([CanBeNull] string commandName, [NotNull] ICommandHandler handler)
{
if (string.IsNullOrEmpty(commandName)) return new DefaultCommand(handler);
switch (commandName.ToLowerInvariant())
{
case ExportHelp.Name:
return new ExportHelp(handler);
case Central.Name:
return new Central(handler);
case SelfUpdate.Name:
return new SelfUpdate(handler);
case Selection.Name:
return new Selection(handler);
case Download.Name:
return new Download(handler);
case Fetch.Name:
return new Fetch(handler);
case Update.Name:
return new Update(handler);
case Run.Name:
return new Run(handler);
case Import.Name:
return new Import(handler);
case Export.Name:
return new Export(handler);
case Search.Name:
return new Search(handler);
case List.Name:
return new List(handler);
case CatalogMan.Name:
return new CatalogMan(handler);
case Configure.Name:
return new Configure(handler);
case AddFeed.Name:
return new AddFeed(handler);
case RemoveFeed.Name:
return new RemoveFeed(handler);
case ListFeeds.Name:
return new ListFeeds(handler);
case AddApp.Name:
case AddApp.AltName:
return new AddApp(handler);
case RemoveApp.Name:
case RemoveApp.AltName:
case RemoveApp.AltName2:
return new RemoveApp(handler);
case RemoveAllApps.Name:
case RemoveAllApps.AltName:
return new RemoveAllApps(handler);
case IntegrateApp.Name:
case IntegrateApp.AltName:
case IntegrateApp.AltName2:
return new IntegrateApp(handler);
case AddAlias.Name:
case AddAlias.AltName:
return new AddAlias(handler);
case ListApps.Name:
return new ListApps(handler);
case UpdateApps.Name:
case UpdateApps.AltName:
return new UpdateApps(handler);
case RepairApps.Name:
case RepairApps.AltName:
return new RepairApps(handler);
case ImportApps.Name:
return new ImportApps(handler);
case SyncApps.Name:
return new SyncApps(handler);
case Digest.Name:
return new Digest(handler);
case StoreMan.Name:
return new StoreMan(handler);
case MaintenanceMan.Name:
return new MaintenanceMan(handler);
default:
throw new OptionException(string.Format(Resources.UnknownCommand, commandName), commandName);
}
}
#endregion