* updated from http://people.ubuntu.com/~mvo/bzr/apt/auto-mark/
[ntk/apt.git] / apt-pkg / deb / debmetaindex.h
1 // ijones, walters
2 #ifndef PKGLIB_DEBMETAINDEX_H
3 #define PKGLIB_DEBMETAINDEX_H
4
5 #include <apt-pkg/metaindex.h>
6 #include <apt-pkg/sourcelist.h>
7
8 class debReleaseIndex : public metaIndex {
9 public:
10
11 class debSectionEntry
12 {
13 public:
14 debSectionEntry (string Section, bool IsSrc);
15 bool IsSrc;
16 string Section;
17 };
18
19 private:
20 vector <const debSectionEntry *> SectionEntries;
21
22 public:
23
24 debReleaseIndex(string URI, string Dist);
25
26 virtual string ArchiveURI(string File) const {return URI + File;};
27 virtual bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const;
28 vector <struct IndexTarget *>* ComputeIndexTargets() const;
29 string Info(const char *Type, const string Section) const;
30 string MetaIndexInfo(const char *Type) const;
31 string MetaIndexFile(const char *Types) const;
32 string MetaIndexURI(const char *Type) const;
33 string IndexURI(const char *Type, const string Section) const;
34 string IndexURISuffix(const char *Type, const string Section) const;
35 string SourceIndexURI(const char *Type, const string Section) const;
36 string SourceIndexURISuffix(const char *Type, const string Section) const;
37 virtual vector <pkgIndexFile *> *GetIndexFiles();
38
39 virtual bool IsTrusted() const;
40
41 void PushSectionEntry(const debSectionEntry *Entry);
42 };
43
44 #endif