]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/dpkgpm.h
* merged the auto-remove branch
[apt.git] / apt-pkg / deb / dpkgpm.h
index d7898daf1359a2a76e9259447df91a620aa15522..0b181dc4314a1d69ba4e29dfdf83e91ee881181b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: dpkgpm.h,v 1.4 1999/07/03 03:10:35 jgg Exp $
+// $Id: dpkgpm.h,v 1.8 2001/05/07 05:05:13 jgg Exp $
 /* ######################################################################
 
    DPKG Package Manager - Provide an interface to dpkg
 
 #include <apt-pkg/packagemanager.h>
 #include <vector>
+#include <stdio.h>
+
+using std::vector;
 
 class pkgDPkgPM : public pkgPackageManager
 {
    protected:
+
+   // used for progress reporting
+   struct DpkgState 
+   {
+      const char *state;     // the dpkg state (e.g. "unpack")
+      const char *str;       // the human readable translation of the state
+   };
    
    struct Item
    {
-      enum Ops {Install, Configure, Remove} Op;
+      enum Ops {Install, Configure, Remove, Purge} Op;
       string File;
       PkgIterator Pkg;
-      Item(Ops Op,PkgIterator Pkg,string File = "") : Op(Op), 
+      Item(Ops Op,PkgIterator Pkg,string File = "") : Op(Op),
             File(File), Pkg(Pkg) {};
       Item() {};
       
@@ -35,17 +45,19 @@ class pkgDPkgPM : public pkgPackageManager
 
    // Helpers
    bool RunScripts(const char *Cnf);
-   
+   bool RunScriptsWithPkgs(const char *Cnf);
+   bool SendV2Pkgs(FILE *F);
+
    // The Actuall installation implementation
    virtual bool Install(PkgIterator Pkg,string File);
    virtual bool Configure(PkgIterator Pkg);
-   virtual bool Remove(PkgIterator Pkg);
-   virtual bool Go();
+   virtual bool Remove(PkgIterator Pkg,bool Purge = false);
+   virtual bool Go(int StatusFd=-1);
    virtual void Reset();
    
    public:
 
-   pkgDPkgPM(pkgDepCache &Cache);
+   pkgDPkgPM(pkgDepCache *Cache);
    virtual ~pkgDPkgPM();
 };