diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:53:22 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:53:22 +0000 |
commit | 11e7af846822e893604052db7822de016fb97417 (patch) | |
tree | b2b2e51153079aa3e88de9b6e29a61b996f78dac /apt-pkg/srcrecords.h | |
parent | 6c9079759285e073024f7e3193c990ede2a17cef (diff) | |
download | apt-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.h | 67 |
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 |