]>
git.saurik.com Git - apt.git/blob - apt-pkg/deb/deblistparser.h
   1 // -*- mode: cpp; mode: fold -*- 
   3 // $Id: deblistparser.h,v 1.6 1998/12/14 02:23:47 jgg Exp $ 
   4 /* ###################################################################### 
   6    Debian Package List Parser - This implements the abstract parser  
   7    interface for Debian package files 
   9    ##################################################################### */ 
  11 // Header section: pkglib 
  12 #ifndef PKGLIB_DEBLISTPARSER_H 
  13 #define PKGLIB_DEBLISTPARSER_H 
  15 #include <apt-pkg/pkgcachegen.h> 
  16 #include <apt-pkg/tagfile.h> 
  18 class debListParser 
: public pkgCacheGenerator::ListParser
 
  21    pkgTagSection Section
; 
  22    unsigned long iOffset
; 
  31    unsigned long UniqFindTagWrite(const char *Tag
); 
  32    bool ParseStatus(pkgCache::PkgIterator Pkg
,pkgCache::VerIterator Ver
); 
  33    const char *ParseDepends(const char *Start
,const char *Stop
, 
  34                             string 
&Package
,string 
&Ver
,unsigned int &Op
); 
  35    bool ParseDepends(pkgCache::VerIterator Ver
,const char *Tag
, 
  37    bool ParseProvides(pkgCache::VerIterator Ver
); 
  38    bool GrabWord(string Word
,WordList 
*List
,int Count
,unsigned char &Out
); 
  42    // These all operate against the current section 
  43    virtual string 
Package(); 
  44    virtual string 
Version(); 
  45    virtual bool NewVersion(pkgCache::VerIterator Ver
); 
  46    virtual bool UsePackage(pkgCache::PkgIterator Pkg
, 
  47                            pkgCache::VerIterator Ver
); 
  48    virtual unsigned long Offset() {return iOffset
;}; 
  49    virtual unsigned long Size() {return Section
.size();}; 
  53    bool LoadReleaseInfo(pkgCache::PkgFileIterator FileI
,FileFd 
&File
); 
  55    debListParser(FileFd 
&File
);