19 #ifndef PKGLIB_PKGCACHEGEN_H
20 #define PKGLIB_PKGCACHEGEN_H
24 #include <apt-pkg/md5.h>
25 #include <apt-pkg/macros.h>
39 map_ptrloc WriteStringInMap(std::string
const &String) {
return WriteStringInMap(String.c_str()); };
40 map_ptrloc WriteStringInMap(
const char *String);
41 map_ptrloc WriteStringInMap(
const char *String,
const unsigned long &Len);
42 map_ptrloc AllocateInMap(
const unsigned long &size);
51 static std::vector<Iter*> toReMap;
53 toReMap.push_back(&I);
67 std::string PkgFileName;
78 std::string
const &Version,
unsigned int const &Op,
79 unsigned int const &Type, map_ptrloc* &OldDepLast);
85 unsigned long WriteUniqString(
const char *S,
unsigned int Size);
86 inline unsigned long WriteUniqString(
const std::string &S) {
return WriteUniqString(S.c_str(),S.length());};
88 void DropProgress() {Progress = 0;};
89 bool SelectFile(
const std::string &File,
const std::string &Site,
pkgIndexFile const &Index,
90 unsigned long Flags = 0);
92 inline pkgCache &GetCache() {
return Cache;};
96 bool HasFileDeps() {
return FoundFileDeps;};
97 bool MergeFileProvides(ListParser &List);
98 __deprecated
bool FinishCache(
OpProgress *Progress);
101 MMap **OutMap = 0,
bool AllowMem =
false);
105 void ReMap(
void const *
const oldMap,
void const *
const newMap);
111 bool MergeListGroup(ListParser &List, std::string
const &GrpName);
129 map_ptrloc *OldDepLast;
136 inline unsigned long WriteUniqString(std::string S) {
return Owner->WriteUniqString(S);};
137 inline unsigned long WriteUniqString(
const char *S,
unsigned int Size) {
return Owner->WriteUniqString(S,Size);};
138 inline unsigned long WriteString(
const std::string &S) {
return Owner->WriteStringInMap(S);};
139 inline unsigned long WriteString(
const char *S,
unsigned int Size) {
return Owner->WriteStringInMap(S,Size);};
141 const std::string &Version,
unsigned int Op,
144 const std::string &PkgArch,
const std::string &Version);
149 virtual std::string Package() = 0;
150 virtual std::string Architecture() = 0;
151 virtual bool ArchitectureAll() = 0;
152 virtual std::string Version() = 0;
154 virtual std::string Description() = 0;
155 virtual std::string DescriptionLanguage() = 0;
157 virtual unsigned short VersionHash() = 0;
160 virtual unsigned long Offset() = 0;
161 virtual unsigned long Size() = 0;
163 virtual bool Step() = 0;
165 inline bool HasFileDeps() {
return FoundFileDeps;};
166 virtual bool CollectFileProvides(
pkgCache &Cache,
175 MMap **OutMap = 0,
bool AllowMem =
false);