X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/06bba740f0085bcd6262cece62dcff266d8efe95..d61960d9244340956a27f4ca46aecd15cc75e18b:/apt-pkg/deb/debrecords.h diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h index 0c204492a..7091c38e6 100644 --- a/apt-pkg/deb/debrecords.h +++ b/apt-pkg/deb/debrecords.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: debrecords.h,v 1.4 1999/02/22 03:30:06 jgg Exp $ +// $Id: debrecords.h,v 1.8 2001/03/13 06:51:46 jgg Exp $ /* ###################################################################### Debian Package Records - Parser for debian package records @@ -11,41 +11,67 @@ ##################################################################### */ /*}}}*/ -// Header section: pkglib #ifndef PKGLIB_DEBRECORDS_H #define PKGLIB_DEBRECORDS_H -#ifdef __GNUG__ -#pragma interface "apt-pkg/debrecords.h" -#endif - #include #include +#include +#include + +#include + +#ifndef APT_8_CLEANER_HEADERS +#include +#endif -class debRecordParser : public pkgRecords::Parser +class APT_HIDDEN debRecordParser : public pkgRecords::Parser { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + protected: + FileFd File; pkgTagFile Tags; pkgTagSection Section; - - string FindTag(const char *Tag); - - protected: virtual bool Jump(pkgCache::VerFileIterator const &Ver); + virtual bool Jump(pkgCache::DescFileIterator const &Desc); - public: + public: // These refer to the archive file for the Version - virtual string FileName(); - virtual string MD5Hash(); - + virtual std::string FileName(); + virtual std::string SourcePkg(); + virtual std::string SourceVer(); + + virtual HashStringList Hashes() const; + // These are some general stats about the package - virtual string Maintainer(); - virtual string ShortDesc(); - virtual string LongDesc(); + virtual std::string Maintainer(); + virtual std::string ShortDesc(std::string const &lang); + virtual std::string LongDesc(std::string const &lang); + virtual std::string Name(); + virtual std::string Homepage(); + + // An arbitrary custom field + virtual std::string RecordField(const char *fieldName); + + virtual void GetRec(const char *&Start,const char *&Stop); - debRecordParser(FileFd &File,pkgCache &Cache); + debRecordParser(std::string FileName,pkgCache &Cache); + virtual ~debRecordParser(); }; +// custom record parser that reads deb files directly +class APT_HIDDEN debDebFileRecordParser : public debRecordParser +{ + public: + virtual std::string FileName() { + return File.Name(); + } + debDebFileRecordParser(std::string FileName,pkgCache &Cache) + : debRecordParser(FileName, Cache) {}; +}; #endif