]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-cdrom.cc
edsp: use a limited scenario based on bool-array
[apt.git] / cmdline / apt-cdrom.cc
index 3fc3faf4afe1960f0846ad2d86ef56eefc36b8bb..ba01a4c7475aa0664f44b2a275dfeffd86ad06f1 100644 (file)
@@ -203,57 +203,33 @@ static bool DoIdent(CommandLine &)
    return AddOrIdent(false);
 }
                                                                        /*}}}*/
-// ShowHelp - Show the help screen                                     /*{{{*/
-static bool ShowHelp(CommandLine &, CommandLine::DispatchWithHelp const * Cmds)
+static bool ShowHelp(CommandLine &)                                    /*{{{*/
 {
-   ioprintf(cout, "%s %s (%s)\n", PACKAGE, PACKAGE_VERSION, COMMON_ARCH);
-
-   if (_config->FindB("version") == true)
-      return true;
-
    std::cout <<
       _("Usage: apt-cdrom [options] command\n"
       "\n"
-      "apt-cdrom is a tool to add CDROM's to APT's source list. The\n"
-      "CDROM mount point and device information is taken from apt.conf,\n"
-      "udev and /etc/fstab.\n")
-      << std::endl
-      << _("Commands:") << std::endl;
-   for (; Cmds->Handler != nullptr; ++Cmds)
-   {
-      if (Cmds->Help == nullptr)
-        continue;
-      std::cout << "  " << Cmds->Match << " - " << Cmds->Help << std::endl;
-   }
-
-   std::cout << std::endl <<
-      _("Options:\n"
-      "  -h   This help text\n"
-      "  -d   CD-ROM mount point\n"
-      "  -r   Rename a recognized CD-ROM\n"
-      "  -m   No mounting\n"
-      "  -f   Fast mode, don't check package files\n"
-      "  -a   Thorough scan mode\n"
-      "  --no-auto-detect Do not try to auto detect drive and mount point\n"
-      "  -c=? Read this configuration file\n"
-      "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
-      "See fstab(5)\n");
+      "apt-cdrom is used to add CDROM's, USB flashdrives and other removable\n"
+      "media types as package sources to APT. The mount point and device\n"
+      "information is taken from apt.conf(5), udev(7) and fstab(5).\n");
    return true;
 }
                                                                        /*}}}*/
-int main(int argc,const char *argv[])                                  /*{{{*/
+static std::vector<aptDispatchWithHelp> GetCommands()                  /*{{{*/
 {
-   InitLocale();
-
-   CommandLine::DispatchWithHelp Cmds[] = {
+   return {
       {"add", &DoAdd, "Add a CDROM"},
       {"ident", &DoIdent, "Report the identity of a CDROM"},
       {nullptr, nullptr, nullptr}
    };
+}
+                                                                       /*}}}*/
+int main(int argc,const char *argv[])                                  /*{{{*/
+{
+   InitLocale();
 
    // Parse the command line and initialize the package library
    CommandLine CmdL;
-   ParseCommandLine(CmdL, Cmds, "apt-cdrom", &_config, &_system, argc, argv, ShowHelp);
+   auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_CDROM, &_config, &_system, argc, argv, &ShowHelp, &GetCommands);
 
    InitOutput();