]> git.saurik.com Git - apt.git/blob - apt-pkg/edsp/edsplistparser.h
Avoid temporary strings in SubstVar.
[apt.git] / apt-pkg / edsp / edsplistparser.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description /*{{{*/
3 /* ######################################################################
4
5 EDSP Package List Parser - This implements the abstract parser
6 interface for the APT specific intermediate format which is passed
7 to external resolvers
8
9 ##################################################################### */
10 /*}}}*/
11 #ifndef PKGLIB_EDSPLISTPARSER_H
12 #define PKGLIB_EDSPLISTPARSER_H
13
14 #include <apt-pkg/deblistparser.h>
15 #include <apt-pkg/md5.h>
16 #include <apt-pkg/pkgcache.h>
17
18 #include <string>
19
20 #ifndef APT_8_CLEANER_HEADERS
21 #include <apt-pkg/pkgcachegen.h>
22 #include <apt-pkg/indexfile.h>
23 #include <apt-pkg/tagfile.h>
24 #endif
25
26 class FileFd;
27 class edspListParserPrivate;
28
29 class APT_HIDDEN edspListParser : public debListParser
30 {
31 edspListParserPrivate * const d;
32 public:
33 virtual bool NewVersion(pkgCache::VerIterator &Ver) APT_OVERRIDE;
34 virtual std::vector<std::string> AvailableDescriptionLanguages() APT_OVERRIDE;
35 virtual MD5SumValue Description_md5() APT_OVERRIDE;
36 virtual unsigned short VersionHash() APT_OVERRIDE;
37
38 bool LoadReleaseInfo(pkgCache::RlsFileIterator &FileI,FileFd &File,
39 std::string const &section);
40
41 edspListParser(FileFd *File);
42 virtual ~edspListParser();
43
44 protected:
45 virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
46
47 };
48
49 #endif