]> git.saurik.com Git - apt.git/blob - apt-pkg/deb/debindexfile.h
Port DDTP to APT 0.6 branch
[apt.git] / apt-pkg / deb / debindexfile.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description /*{{{*/
3 // $Id: debindexfile.h,v 1.3.2.1 2003/12/24 23:09:17 mdz Exp $
4 /* ######################################################################
5
6 Debian Index Files
7
8 There are three sorts currently
9
10 Package files that have File: tags
11 Package files that don't (/var/lib/dpkg/status)
12 Source files
13
14 ##################################################################### */
15 /*}}}*/
16 #ifndef PKGLIB_DEBINDEXFILE_H
17 #define PKGLIB_DEBINDEXFILE_H
18
19 #ifdef __GNUG__
20 #pragma interface "apt-pkg/debindexfile.h"
21 #endif
22
23 #include <apt-pkg/indexfile.h>
24
25 class debStatusIndex : public pkgIndexFile
26 {
27 string File;
28
29 public:
30
31 virtual const Type *GetType() const;
32
33 // Interface for acquire
34 virtual string Describe(bool Short) const {return File;};
35
36 // Interface for the Cache Generator
37 virtual bool Exists() const;
38 virtual bool HasPackages() const {return true;};
39 virtual unsigned long Size() const;
40 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
41 virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
42
43 debStatusIndex(string File);
44 };
45
46 class debPackagesIndex : public pkgIndexFile
47 {
48 string URI;
49 string Dist;
50 string Section;
51
52 string Info(const char *Type) const;
53 string IndexFile(const char *Type) const;
54 string IndexURI(const char *Type) const;
55
56 public:
57
58 virtual const Type *GetType() const;
59
60 // Stuff for accessing files on remote items
61 virtual string ArchiveInfo(pkgCache::VerIterator Ver) const;
62 virtual string ArchiveURI(string File) const {return URI + File;};
63
64 // Interface for acquire
65 virtual string Describe(bool Short) const;
66
67 // Interface for the Cache Generator
68 virtual bool Exists() const;
69 virtual bool HasPackages() const {return true;};
70 virtual unsigned long Size() const;
71 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
72 virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
73
74 debPackagesIndex(string URI,string Dist,string Section,bool Trusted);
75 };
76
77 class debTranslationsIndex : public pkgIndexFile
78 {
79 string URI;
80 string Dist;
81 string Section;
82
83 string Info(const char *Type) const;
84 string IndexFile(const char *Type) const;
85 string IndexURI(const char *Type) const;
86
87 inline string TranslationFile() const {return "Translation-" + LanguageCode();};
88
89 public:
90
91 virtual const Type *GetType() const;
92
93 // Interface for acquire
94 virtual string Describe(bool Short) const;
95 virtual bool GetIndexes(pkgAcquire *Owner) const;
96
97 // Interface for the Cache Generator
98 virtual bool Exists() const;
99 virtual bool HasPackages() const {return true;};
100 virtual unsigned long Size() const;
101 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
102
103 debTranslationsIndex(string URI,string Dist,string Section);
104 };
105
106 class debSourcesIndex : public pkgIndexFile
107 {
108 string URI;
109 string Dist;
110 string Section;
111
112 string Info(const char *Type) const;
113 string IndexFile(const char *Type) const;
114 string IndexURI(const char *Type) const;
115
116 public:
117
118 virtual const Type *GetType() const;
119
120 // Stuff for accessing files on remote items
121 virtual string SourceInfo(pkgSrcRecords::Parser const &Record,
122 pkgSrcRecords::File const &File) const;
123 virtual string ArchiveURI(string File) const {return URI + File;};
124
125 // Interface for acquire
126 virtual string Describe(bool Short) const;
127
128 // Interface for the record parsers
129 virtual pkgSrcRecords::Parser *CreateSrcParser() const;
130
131 // Interface for the Cache Generator
132 virtual bool Exists() const;
133 virtual bool HasPackages() const {return false;};
134 virtual unsigned long Size() const;
135
136 debSourcesIndex(string URI,string Dist,string Section,bool Trusted);
137 };
138
139 #endif