]>
git.saurik.com Git - apt.git/blob - apt-inst/extract.h
   1 // -*- mode: cpp; mode: fold -*- 
   3 // $Id: extract.h,v 1.2 2001/02/20 07:03:16 jgg Exp $ 
   4 /* ###################################################################### 
   6    Archive Extraction Directory Stream 
   8    This Directory Stream implements extraction of an archive into the 
   9    filesystem. It makes the choices on what files should be unpacked and 
  10    replaces as well as guiding the actual unpacking. 
  12    When the unpacking sequence is completed one of the two functions, 
  13    Finished or Aborted must be called. 
  15    ##################################################################### */ 
  17 #ifndef PKGLIB_EXTRACT_H 
  18 #define PKGLIB_EXTRACT_H 
  20 #include <apt-pkg/dirstream.h> 
  21 #include <apt-pkg/filelist.h> 
  22 #include <apt-pkg/pkgcache.h> 
  23 #include <apt-pkg/cacheiterators.h> 
  27 class pkgExtract 
: public pkgDirStream
 
  30    pkgCache::VerIterator Ver
; 
  31    pkgFLCache::PkgIterator FLPkg
; 
  35    bool HandleOverwrites(pkgFLCache::NodeIterator Nde
, 
  36                          bool DiverCheck 
= false); 
  37    bool CheckDirReplace(std::string Dir
,unsigned int Depth 
= 0); 
  41    virtual bool DoItem(Item 
&Itm
,int &Fd
) APT_OVERRIDE
; 
  42    virtual bool Fail(Item 
&Itm
,int Fd
) APT_OVERRIDE
; 
  43    virtual bool FinishedFile(Item 
&Itm
,int Fd
) APT_OVERRIDE
; 
  48    pkgExtract(pkgFLCache 
&FLCache
,pkgCache::VerIterator Ver
);