- initial import of revision 374 from cnc
[apt.git] / apt-pkg / deb / debrecords.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description                                                          /*{{{*/
3 // $Id: debrecords.h,v 1.1 2002/07/23 17:54:51 niemeyer Exp $
4 /* ######################################################################
5    
6    Debian Package Records - Parser for debian package records
7    
8    This provides display-type parsing for the Packages file. This is 
9    different than the the list parser which provides cache generation
10    services. There should be no overlap between these two.
11    
12    ##################################################################### */
13                                                                         /*}}}*/
14 #ifndef PKGLIB_DEBRECORDS_H
15 #define PKGLIB_DEBRECORDS_H
16
17 #ifdef __GNUG__
18 #pragma interface "apt-pkg/debrecords.h"
19 #endif 
20
21 #include <apt-pkg/pkgrecords.h>
22 #include <apt-pkg/tagfile.h>
23
24 class debRecordParser : public pkgRecords::Parser
25 {
26    FileFd File;
27    pkgTagFile Tags;
28    pkgTagSection Section;
29    
30    protected:
31    
32    virtual bool Jump(pkgCache::VerFileIterator const &Ver);
33    
34    public:
35
36    // These refer to the archive file for the Version
37    virtual string FileName();
38    virtual string MD5Hash();
39    virtual string SHA1Hash();
40    virtual string SourcePkg();
41    
42    // These are some general stats about the package
43    virtual string Maintainer();
44    virtual string ShortDesc();
45    virtual string LongDesc();
46    virtual string Name();
47
48    virtual void GetRec(const char *&Start,const char *&Stop);
49    
50    debRecordParser(string FileName,pkgCache &Cache);
51 };
52
53 #endif