]> git.saurik.com Git - apt.git/blob - apt-private/private-cmndline.h
eipp: let apt make a plan, not make stuff plane
[apt.git] / apt-private / private-cmndline.h
1 #ifndef APT_PRIVATE_CMNDLINE_H
2 #define APT_PRIVATE_CMNDLINE_H
3
4 #include <apt-pkg/cmndline.h>
5 #include <apt-pkg/macros.h>
6
7 #include <vector>
8
9 class Configuration;
10 class pkgSystem;
11
12 enum class APT_CMD {
13 APT,
14 APT_GET,
15 APT_CACHE,
16 APT_CDROM,
17 APT_CONFIG,
18 APT_EXTRACTTEMPLATES,
19 APT_FTPARCHIVE,
20 APT_HELPER,
21 APT_INTERNAL_SOLVER,
22 APT_MARK,
23 APT_SORTPKG,
24 APT_DUMP_SOLVER,
25 APT_INTERNAL_PLANNER,
26 };
27 struct aptDispatchWithHelp
28 {
29 const char *Match;
30 bool (*Handler)(CommandLine &);
31 const char *Help;
32 };
33
34 APT_PUBLIC std::vector<CommandLine::Dispatch> ParseCommandLine(CommandLine &CmdL, APT_CMD const Binary,
35 Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char * argv[],
36 bool (*ShowHelp)(CommandLine &), std::vector<aptDispatchWithHelp> (*GetCommands)(void));
37 APT_PUBLIC unsigned short DispatchCommandLine(CommandLine &CmdL, std::vector<CommandLine::Dispatch> const &Cmds);
38
39 APT_PUBLIC std::vector<CommandLine::Args> getCommandArgs(APT_CMD const Program, char const * const Cmd);
40
41 #endif