summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgrecords.h
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:50:55 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:50:55 +0000
commitf55ece0eae40e44dca027528a6f11091279d72b3 (patch)
tree16a95e95fec448c37fd01bfb99ee8f33f93b6579 /apt-pkg/pkgrecords.h
parentb572638d2e277c1b0040bf6ede3d344ca970f73a (diff)
Package Record parser
Author: jgg Date: 1998-08-09 00:51:33 GMT Package Record parser
Diffstat (limited to 'apt-pkg/pkgrecords.h')
-rw-r--r--apt-pkg/pkgrecords.h67
1 files changed, 67 insertions, 0 deletions
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 <apt-pkg/pkgcache.h>
+#include <apt-pkg/fileutl.h>
+
+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