From f55ece0eae40e44dca027528a6f11091279d72b3 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:50:55 +0000 Subject: Package Record parser Author: jgg Date: 1998-08-09 00:51:33 GMT Package Record parser --- apt-pkg/pkgrecords.h | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 apt-pkg/pkgrecords.h (limited to 'apt-pkg/pkgrecords.h') diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h new file mode 100644 index 000000000..e129c65eb --- /dev/null +++ b/apt-pkg/pkgrecords.h @@ -0,0 +1,67 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: pkgrecords.h,v 1.1 1998/08/09 00:51:35 jgg Exp $ +/* ###################################################################### + + Package Records - Allows access to complete package description records + directly from the file. + + The package record system abstracts the actual parsing of the + package files. This is different than the generators parser in that + it is used to access information not generate information. No + information touched by the generator should be parable from here as + it can always be retreived directly from the cache. + + ##################################################################### */ + /*}}}*/ +// Header section: pkglib +#ifndef PKGLIB_PKGRECORDS_H +#define PKGLIB_PKGRECORDS_H + +#ifdef __GNUG__ +#pragma interface "apt-pkg/pkgrecords.h" +#endif + +#include +#include + +class pkgRecords +{ + public: + class Parser; + + private: + + pkgCache &Cache; + + // List of package files + struct PkgFile + { + FileFd *File; + Parser *Parse; + + PkgFile() : File(0), Parse(0) {}; + ~PkgFile(); + }; + PkgFile *Files; + + public: + + // Lookup function + Parser &Lookup(pkgCache::VerFileIterator &Ver); + + // Construct destruct + pkgRecords(pkgCache &Cache); + ~pkgRecords(); +}; + +class pkgRecords::Parser +{ + public: + + virtual bool Jump(pkgCache::VerFileIterator &Ver) = 0; + + virtual ~Parser() {}; +}; + +#endif -- cgit v1.2.3