Replace bunch of rpm version checks with feature checks to get this to
[apt.git] / apt-pkg / rpm / rpmsrcrecords.h
1 // -*- mode: c++; mode: fold -*-
2 // Description                                                          /*{{{*/
3 // $Id: rpmsrcrecords.h,v 1.5 2002/08/08 20:07:33 niemeyer Exp $
4 /* ######################################################################
5    
6    SRPM Records - Parser implementation for RPM style source indexes
7    
8    ##################################################################### 
9  */
10                                                                         /*}}}*/
11 #ifndef PKGLIB_RPMSRCRECORDS_H
12 #define PKGLIB_RPMSRCRECORDS_H
13
14 #ifdef __GNUG__
15 #pragma interface "apt-pkg/rpmsrcrecords.h"
16 #endif 
17
18 #include <apt-pkg/srcrecords.h>
19 #include <apt-pkg/fileutl.h>
20 #include <apt-pkg/rpmhandler.h>
21   
22 class RPMHandler;
23
24 class rpmSrcRecordParser : public pkgSrcRecords::Parser
25 {
26    RPMHandler *Handler;
27
28    const char *StaticBinList[400];
29
30    char *Buffer;
31    unsigned int BufSize;
32    unsigned int BufUsed;
33    
34    void BufCat(const char *text);
35    void BufCat(const char *begin, const char *end);
36    void BufCatTag(const char *tag, const char *value);
37    void BufCatDep(Dependency *Dep);
38    void BufCatDescr(const char *descr);
39
40 public:
41    virtual bool Restart();
42    virtual bool Step(); 
43    virtual bool Jump(off_t Off);
44
45    virtual string Package() const;
46    virtual string Version() const;
47    virtual string Maintainer() const;
48    virtual string Section() const;
49    virtual const char **Binaries();
50    virtual off_t Offset();
51    virtual string AsStr();
52    virtual bool Files(vector<pkgSrcRecords::File> &F);
53    virtual bool BuildDepends(vector<BuildDepRec> &BuildDeps, bool ArchOnly);
54
55    rpmSrcRecordParser(string File,pkgIndexFile const *Index);
56    ~rpmSrcRecordParser();
57 };
58
59 #endif