X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f8f410f57e7941a7bf57c5c84b77b2bcd577ac6b..5871718bb413ac072b3c2c4b4b88f7e328a18841:/apt-pkg/srcrecords.h?ds=sidebyside diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index 8391349dd..a73499aef 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: srcrecords.h,v 1.5 1999/10/18 03:44:39 jgg Exp $ +// $Id: srcrecords.h,v 1.6 2001/02/20 07:03:17 jgg Exp $ /* ###################################################################### Source Package Records - Allows access to source package records @@ -17,9 +17,11 @@ #pragma interface "apt-pkg/srcrecords.h" #endif -#include -#include +#include +#include +class pkgSourceList; +class pkgIndexFile; class pkgSrcRecords { public: @@ -30,17 +32,30 @@ class pkgSrcRecords string MD5Hash; unsigned long Size; string Path; + string Type; }; // Abstract parser for each source record class Parser { - FileFd *File; - pkgSourceList::const_iterator SrcItem; + protected: + + const pkgIndexFile *iIndex; public: - inline pkgSourceList::const_iterator Source() const {return SrcItem;}; + enum BuildDep {BuildDepend=0x0,BuildDependIndep=0x1, + BuildConflict=0x2,BuildConflictIndep=0x3}; + + struct BuildDepRec + { + string Package; + string Version; + unsigned int Op; + unsigned char Type; + }; + + inline const pkgIndexFile &Index() const {return *iIndex;}; virtual bool Restart() = 0; virtual bool Step() = 0; @@ -48,16 +63,19 @@ class pkgSrcRecords virtual unsigned long Offset() = 0; virtual string AsStr() = 0; - virtual string Package() = 0; - virtual string Version() = 0; - virtual string Maintainer() = 0; - virtual string Section() = 0; - virtual const char **Binaries() = 0; + virtual string Package() const = 0; + virtual string Version() const = 0; + virtual string Maintainer() const = 0; + virtual string Section() const = 0; + virtual const char **Binaries() = 0; // Ownership does not transfer + + virtual bool BuildDepends(vector &BuildDeps) = 0; + static const char *BuildDepType(unsigned char Type); + virtual bool Files(vector &F) = 0; - Parser(FileFd *File,pkgSourceList::const_iterator SrcItem) : File(File), - SrcItem(SrcItem) {}; - virtual ~Parser() {delete File;}; + Parser(const pkgIndexFile *Index) : iIndex(Index) {}; + virtual ~Parser() {}; }; private: @@ -78,5 +96,4 @@ class pkgSrcRecords ~pkgSrcRecords(); }; - #endif