apt  0.9.7.3
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 
20 
21 #include <apt-pkg/indexfile.h>
22 
24 {
26  void *d;
27 
28  protected:
29  std::string File;
30 
31  public:
32 
33  virtual const Type *GetType() const;
34 
35  // Interface for acquire
36  virtual std::string Describe(bool Short) const {return File;};
37 
38  // Interface for the Cache Generator
39  virtual bool Exists() const;
40  virtual bool HasPackages() const {return true;};
41  virtual unsigned long Size() const;
42  virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
43  bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog, unsigned long const Flag) const;
44  virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
45 
46  debStatusIndex(std::string File);
47  virtual ~debStatusIndex() {};
48 };
49 
51 {
53  void *d;
54 
55  std::string URI;
56  std::string Dist;
57  std::string Section;
58  std::string Architecture;
59 
60  std::string Info(const char *Type) const;
61  std::string IndexFile(const char *Type) const;
62  std::string IndexURI(const char *Type) const;
63 
64  public:
65 
66  virtual const Type *GetType() const;
67 
68  // Stuff for accessing files on remote items
69  virtual std::string ArchiveInfo(pkgCache::VerIterator Ver) const;
70  virtual std::string ArchiveURI(std::string File) const {return URI + File;};
71 
72  // Interface for acquire
73  virtual std::string Describe(bool Short) const;
74 
75  // Interface for the Cache Generator
76  virtual bool Exists() const;
77  virtual bool HasPackages() const {return true;};
78  virtual unsigned long Size() const;
79  virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
80  virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
81 
82  debPackagesIndex(std::string const &URI, std::string const &Dist, std::string const &Section,
83  bool const &Trusted, std::string const &Arch = "native");
84  virtual ~debPackagesIndex() {};
85 };
86 
88 {
90  void *d;
91 
92  std::string URI;
93  std::string Dist;
94  std::string Section;
95  const char * const Language;
96 
97  std::string Info(const char *Type) const;
98  std::string IndexFile(const char *Type) const;
99  std::string IndexURI(const char *Type) const;
100 
101  inline std::string TranslationFile() const {return std::string("Translation-").append(Language);};
102 
103  public:
104 
105  virtual const Type *GetType() const;
106 
107  // Interface for acquire
108  virtual std::string Describe(bool Short) const;
109  virtual bool GetIndexes(pkgAcquire *Owner) const;
110 
111  // Interface for the Cache Generator
112  virtual bool Exists() const;
113  virtual bool HasPackages() const;
114  virtual unsigned long Size() const;
115  virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
116  virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
117 
118  debTranslationsIndex(std::string URI,std::string Dist,std::string Section, char const * const Language);
119  virtual ~debTranslationsIndex() {};
120 };
121 
123 {
125  void *d;
126 
127  std::string URI;
128  std::string Dist;
129  std::string Section;
130 
131  std::string Info(const char *Type) const;
132  std::string IndexFile(const char *Type) const;
133  std::string IndexURI(const char *Type) const;
134 
135  public:
136 
137  virtual const Type *GetType() const;
138 
139  // Stuff for accessing files on remote items
140  virtual std::string SourceInfo(pkgSrcRecords::Parser const &Record,
141  pkgSrcRecords::File const &File) const;
142  virtual std::string ArchiveURI(std::string File) const {return URI + File;};
143 
144  // Interface for acquire
145  virtual std::string Describe(bool Short) const;
146 
147  // Interface for the record parsers
148  virtual pkgSrcRecords::Parser *CreateSrcParser() const;
149 
150  // Interface for the Cache Generator
151  virtual bool Exists() const;
152  virtual bool HasPackages() const {return false;};
153  virtual unsigned long Size() const;
154 
155  debSourcesIndex(std::string URI,std::string Dist,std::string Section,bool Trusted);
156  virtual ~debSourcesIndex() {};
157 };
158 
159 #endif