X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f55ece0eae40e44dca027528a6f11091279d72b3..11bcbdb93e13e0b2c1625fc0f926378bce43fead:/apt-pkg/pkgrecords.h diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h index e129c65eb..3658435e8 100644 --- a/apt-pkg/pkgrecords.h +++ b/apt-pkg/pkgrecords.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgrecords.h,v 1.1 1998/08/09 00:51:35 jgg Exp $ +// $Id: pkgrecords.h,v 1.6 2001/03/13 06:51:46 jgg Exp $ /* ###################################################################### Package Records - Allows access to complete package description records @@ -14,54 +14,68 @@ ##################################################################### */ /*}}}*/ -// Header section: pkglib #ifndef PKGLIB_PKGRECORDS_H #define PKGLIB_PKGRECORDS_H -#ifdef __GNUG__ -#pragma interface "apt-pkg/pkgrecords.h" -#endif #include -#include +#include -class pkgRecords +class pkgRecords /*{{{*/ { public: class Parser; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; pkgCache &Cache; - - // List of package files - struct PkgFile - { - FileFd *File; - Parser *Parse; - - PkgFile() : File(0), Parse(0) {}; - ~PkgFile(); - }; - PkgFile *Files; - - public: + std::vectorFiles; + public: // Lookup function - Parser &Lookup(pkgCache::VerFileIterator &Ver); - + Parser &Lookup(pkgCache::VerFileIterator const &Ver); + Parser &Lookup(pkgCache::DescFileIterator const &Desc); + // Construct destruct pkgRecords(pkgCache &Cache); ~pkgRecords(); }; - -class pkgRecords::Parser + /*}}}*/ +class pkgRecords::Parser /*{{{*/ { + protected: + + virtual bool Jump(pkgCache::VerFileIterator const &Ver) = 0; + virtual bool Jump(pkgCache::DescFileIterator const &Desc) = 0; + public: + friend class pkgRecords; - virtual bool Jump(pkgCache::VerFileIterator &Ver) = 0; + // These refer to the archive file for the Version + virtual std::string FileName() {return std::string();}; + virtual std::string MD5Hash() {return std::string();}; + virtual std::string SHA1Hash() {return std::string();}; + virtual std::string SHA256Hash() {return std::string();}; + virtual std::string SHA512Hash() {return std::string();}; + virtual std::string SourcePkg() {return std::string();}; + virtual std::string SourceVer() {return std::string();}; + + // These are some general stats about the package + virtual std::string Maintainer() {return std::string();}; + virtual std::string ShortDesc() {return std::string();}; + virtual std::string LongDesc() {return std::string();}; + virtual std::string Name() {return std::string();}; + virtual std::string Homepage() {return std::string();} + + // An arbitrary custom field + virtual std::string RecordField(const char *fieldName) { return std::string();}; + + // The record in binary form + virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;}; virtual ~Parser() {}; }; - + /*}}}*/ #endif