]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/cmndline.h
Bug #807012 also involves package dependencies :/.
[apt.git] / apt-pkg / contrib / cmndline.h
index fad6d1da9b9025f1a3879cae4b74f228544d1e16..805cb9eae83bc5310bd56e226b6b7b137eff9338 100644 (file)
@@ -34,7 +34,7 @@
      ConfigFile - Means this flag should be interprited as the name of 
                   a config file to read in at this point in option processing.
                   Implies HasArg.
-     ArbItem    - Means the item is an arbitary configuration string of
+     ArbItem    - Means the item is an arbitrary configuration string of
                   the form item=value, where item is passed directly
                   to the configuration class.
    The default, if the flags are 0 is to use Boolean
 #ifndef PKGLIB_CMNDLINE_H
 #define PKGLIB_CMNDLINE_H
 
+#include <apt-pkg/macros.h>
 
-
+#ifndef APT_8_CLEANER_HEADERS
 #include <apt-pkg/configuration.h>
+#endif
+
+class Configuration;
 
 class CommandLine
 {
    public:
    struct Args;
    struct Dispatch;
+   struct DispatchWithHelp;
    
    protected:
    
@@ -60,6 +65,7 @@ class CommandLine
    Configuration *Conf;
    bool HandleOpt(int &I,int argc,const char *argv[],
                  const char *&Opt,Args *A,bool PreceedeMatch = false);
+   void static SaveInConfig(unsigned int const &argc, char const * const * const argv);
 
    public:
    
@@ -77,9 +83,18 @@ class CommandLine
    
    bool Parse(int argc,const char **argv);
    void ShowHelp();
-   unsigned int FileSize() const;
+   unsigned int FileSize() const APT_PURE;
+   // FIXME: merge on next ABI break
    bool DispatchArg(Dispatch *List,bool NoMatch = true);
+   bool DispatchArg(Dispatch const * const List,bool NoMatch = true);
       
+   static char const * GetCommand(Dispatch const * const Map,
+        unsigned int const argc, char const * const * const argv) APT_PURE;
+
+   static CommandLine::Args MakeArgs(char ShortOpt, char const *LongOpt,
+        char const *ConfName, unsigned long Flags) APT_CONST;
+
+   CommandLine();
    CommandLine(Args *AList,Configuration *Conf);
    ~CommandLine();
 };