]> git.saurik.com Git - apt.git/blob - apt-pkg/metaindex.h
policy: Assign per-version pins
[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 class pkgCacheGenerator;
27 class OpProgress;
28
29 class metaIndex
30 {
31 void *d;
32 protected:
33 std::vector <pkgIndexFile *> *Indexes;
34 const char *Type;
35 std::string URI;
36 std::string Dist;
37 bool Trusted;
38
39 public:
40
41 // Various accessors
42 virtual std::string GetURI() const {return URI;}
43 virtual std::string GetDist() const {return Dist;}
44 virtual const char* GetType() const {return Type;}
45
46 // interface to to query it
47 /** \return the path of the local file (or "" if its not available) */
48 virtual std::string LocalFileName() const;
49
50 // Interface for acquire
51 virtual std::string ArchiveURI(std::string const& File) const = 0;
52 virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const = 0;
53 virtual std::vector<IndexTarget> GetIndexTargets() const = 0;
54 virtual std::vector<pkgIndexFile *> *GetIndexFiles() = 0;
55 virtual bool IsTrusted() const = 0;
56
57 virtual std::string Describe() const;
58 virtual pkgCache::RlsFileIterator FindInCache(pkgCache &Cache, bool const ModifyCheck) const;
59 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
60
61 metaIndex(std::string const &URI, std::string const &Dist,
62 char const * const Type);
63 virtual ~metaIndex();
64 };
65
66 #endif