// -*- 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
##################################################################### */
/*}}}*/
-// Header section: pkglib
#ifndef PKGLIB_PKGRECORDS_H
#define PKGLIB_PKGRECORDS_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/pkgrecords.h"
-#endif
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/fileutl.h>
+#include <vector>
-class pkgRecords
+class pkgRecords /*{{{*/
{
public:
class Parser;
private:
pkgCache &Cache;
-
- // List of package files
- struct PkgFile
- {
- FileFd *File;
- Parser *Parse;
+ std::vector<Parser *>Files;
- PkgFile() : File(0), Parse(0) {};
- ~PkgFile();
- };
- PkgFile *Files;
-
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;
+
+ // These refer to the archive file for the Version
+ virtual string FileName() {return string();};
+ virtual string MD5Hash() {return string();};
+ virtual string SHA1Hash() {return string();};
+ virtual string SHA256Hash() {return string();};
+ virtual string SourcePkg() {return string();};
+ virtual string SourceVer() {return string();};
+
+ // These are some general stats about the package
+ virtual string Maintainer() {return string();};
+ virtual string ShortDesc() {return string();};
+ virtual string LongDesc() {return string();};
+ virtual string Name() {return string();};
+ virtual string Homepage() {return string();}
- virtual bool Jump(pkgCache::VerFileIterator &Ver) = 0;
+ // The record in binary form
+ virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
virtual ~Parser() {};
};
-
+ /*}}}*/
#endif