X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/0149949bce07d3a15cb8a197df1240d56f7bcd26..30e1eab53324523297a24c18819b27aba7ce1fb4:/apt-pkg/deb/deblistparser.h diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index a458eb60c..72e8ed073 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: deblistparser.h,v 1.2 1998/07/04 22:32:18 jgg Exp $ +// $Id: deblistparser.h,v 1.5 1998/07/19 04:42:17 jgg Exp $ /* ###################################################################### Debian Package List Parser - This implements the abstract parser @@ -12,13 +12,14 @@ #ifndef PKGLIB_DEBLISTPARSER_H #define PKGLIB_DEBLISTPARSER_H -#include -#include +#include +#include class debListParser : public pkgCacheGenerator::ListParser { pkgTagFile Tags; pkgTagSection Section; + unsigned long iOffset; // Parser Helper struct WordList @@ -32,6 +33,11 @@ class debListParser : public pkgCacheGenerator::ListParser unsigned long UniqFindTagWrite(const char *Tag); bool HandleFlag(const char *Tag,unsigned long &Flags,unsigned long Flag); bool ParseStatus(pkgCache::PkgIterator Pkg,pkgCache::VerIterator Ver); + const char *ParseDepends(const char *Start,const char *Stop, + string &Package,string &Ver,unsigned int &Op); + bool ParseDepends(pkgCache::VerIterator Ver,const char *Tag, + unsigned int Type); + bool ParseProvides(pkgCache::VerIterator Ver); bool GrabWord(string Word,WordList *List,int Count,unsigned char &Out); public: @@ -40,13 +46,14 @@ class debListParser : public pkgCacheGenerator::ListParser virtual string Package(); virtual string Version(); virtual bool NewVersion(pkgCache::VerIterator Ver); - virtual bool NewPackage(pkgCache::PkgIterator Pkg); virtual bool UsePackage(pkgCache::PkgIterator Pkg, pkgCache::VerIterator Ver); + virtual unsigned long Offset() {return iOffset;}; + virtual unsigned long Size() {return Section.size();}; virtual bool Step(); - debListParser(File &File); + debListParser(FileFd &File); }; #endif