summaryrefslogtreecommitdiff
path: root/apt-pkg/srcrecords.h
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:53:22 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:53:22 +0000
commit11e7af846822e893604052db7822de016fb97417 (patch)
treeb2b2e51153079aa3e88de9b6e29a61b996f78dac /apt-pkg/srcrecords.h
parent6c9079759285e073024f7e3193c990ede2a17cef (diff)
downloadapt-11e7af846822e893604052db7822de016fb97417.tar.gz
Source record parsing
Author: jgg Date: 1999-04-04 01:17:29 GMT Source record parsing
Diffstat (limited to 'apt-pkg/srcrecords.h')
-rw-r--r--apt-pkg/srcrecords.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h
new file mode 100644
index 00000000..bd39b93b
--- /dev/null
+++ b/apt-pkg/srcrecords.h
@@ -0,0 +1,67 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: srcrecords.h,v 1.1 1999/04/04 01:17:29 jgg Exp $
+/* ######################################################################
+
+ Source Package Records - Allows access to source package records
+
+ Parses and allows access to the list of source records and searching by
+ source name on that list.
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef PKGLIB_SRCRECORDS_H
+#define PKGLIB_SRCRECORDS_H
+
+#ifdef __GNUG__
+#pragma interface "apt-pkg/srcrecords.h"
+#endif
+
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/sourcelist.h>
+
+class pkgSrcRecords
+{
+ public:
+
+ class Parser
+ {
+ FileFd *File;
+
+ public:
+
+ virtual bool Restart() = 0;
+ virtual bool Step() = 0;
+ virtual bool Jump(unsigned long Off) = 0;
+ virtual unsigned long Offset() = 0;
+
+ virtual string Package() = 0;
+ virtual string Version() = 0;
+ virtual string Maintainer() = 0;
+ virtual string Section() = 0;
+ virtual const char **Binaries() = 0;
+
+ Parser(FileFd *File) : File(File) {};
+ virtual ~Parser() {delete File;};
+ };
+
+ private:
+
+ // The list of files and the current parser pointer
+ Parser **Files;
+ Parser **Current;
+
+ public:
+
+ // Reset the search
+ bool Restart();
+
+ // Locate a package by name
+ Parser *Find(const char *Package,bool SrcOnly = false);
+
+ pkgSrcRecords(pkgSourceList &List);
+ ~pkgSrcRecords();
+};
+
+
+#endif