Icky pooh.. partial revert of 64174eee41f502ed847e89fe52ba79311533e4f8
[apt.git] / apt-pkg / rpm / repomd.h
1 // CNC:2002-07-03
2
3 #ifndef PKGLIB_REPOMD_H
4 #define PKBLIB_REPOMD_H
5
6 #ifdef __GNUG__
7 #pragma interface "apt-pkg/repomd.h"
8 #endif
9
10 #include <apt-pkg/aptconf.h>
11 #include <apt-pkg/repository.h>
12
13 #ifdef APT_WITH_REPOMD
14
15 #include <libxml/parser.h>
16 #include <libxml/tree.h>
17
18 using namespace std;
19
20 class repomdRepository : public pkgRepository
21 {
22    protected:
23
24    xmlDocPtr RepoMD;
25    xmlNode *Root;
26    
27    struct RepoFile {
28       string Path;
29       string RealPath;
30       string Type;
31       string TimeStamp;
32    };
33
34    map<string,RepoFile> RepoFiles;
35
36    public:   
37
38    virtual bool IsAuthenticated() const { return false; };
39    virtual bool ParseRelease(string File);
40    virtual string FindURI(string DataType);
41    virtual string GetComprMethod(string URI);
42    
43    repomdRepository(string URI,string Dist, const pkgSourceList::Vendor *Vendor,
44                  string RootURI)
45       : pkgRepository(URI, Dist, Vendor, RootURI) 
46    {
47       // repomd always has a "release" file
48       GotRelease = true;
49    };
50
51    virtual ~repomdRepository() {};
52 };
53
54 #endif /* APT_WITH_REPOMD */
55
56 #endif
57
58 // vim:sts=3:sw=3