]> git.saurik.com Git - apt.git/blob - apt-pkg/metaindex.h
4e5de8be05f68df6559d8471c276ca05f87f3f54
[apt.git] / apt-pkg / metaindex.h
1 #ifndef PKGLIB_METAINDEX_H
2 #define PKGLIB_METAINDEX_H
3
4 #include <apt-pkg/indexfile.h>
5 #include <apt-pkg/init.h>
6
7 #include <stddef.h>
8
9 #include <string>
10 #include <vector>
11
12 #ifndef APT_10_CLEANER_HEADERS
13 #include <apt-pkg/pkgcache.h>
14 class pkgCacheGenerator;
15 class OpProgress;
16 #endif
17 #ifndef APT_8_CLEANER_HEADERS
18 #include <apt-pkg/srcrecords.h>
19 #include <apt-pkg/pkgrecords.h>
20 #include <apt-pkg/vendor.h>
21 using std::string;
22 #endif
23
24 class pkgAcquire;
25 class IndexTarget;
26
27 class metaIndex
28 {
29 protected:
30 std::vector <pkgIndexFile *> *Indexes;
31 const char *Type;
32 std::string URI;
33 std::string Dist;
34 bool Trusted;
35
36 public:
37
38 // Various accessors
39 virtual std::string GetURI() const {return URI;}
40 virtual std::string GetDist() const {return Dist;}
41 virtual const char* GetType() const {return Type;}
42
43 // interface to to query it
44 /** \return the path of the local file (or "" if its not available) */
45 virtual std::string LocalFileName() const;
46
47 // Interface for acquire
48 virtual std::string ArchiveURI(std::string const& File) const = 0;
49 virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const = 0;
50 virtual std::vector<IndexTarget> GetIndexTargets() const = 0;
51 virtual std::vector<pkgIndexFile *> *GetIndexFiles() = 0;
52 virtual bool IsTrusted() const = 0;
53
54 metaIndex(std::string const &URI, std::string const &Dist,
55 char const * const Type);
56 virtual ~metaIndex();
57 };
58
59 #endif