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