]> git.saurik.com Git - apt.git/blob - apt-pkg/edsp/edsplistparser.h
eipp: provide the internal planer as an external one
[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 #include <apt-pkg/fileutl.h>
18
19 #include <string>
20
21 #ifndef APT_8_CLEANER_HEADERS
22 #include <apt-pkg/pkgcachegen.h>
23 #include <apt-pkg/indexfile.h>
24 #include <apt-pkg/tagfile.h>
25 #endif
26
27 class APT_HIDDEN edspLikeListParser : public debListParser
28 {
29 public:
30 virtual bool NewVersion(pkgCache::VerIterator &Ver) APT_OVERRIDE;
31 virtual std::vector<std::string> AvailableDescriptionLanguages() APT_OVERRIDE;
32 virtual MD5SumValue Description_md5() APT_OVERRIDE;
33 virtual unsigned short VersionHash() APT_OVERRIDE;
34
35 bool LoadReleaseInfo(pkgCache::RlsFileIterator &FileI,FileFd &File,
36 std::string const &section);
37
38 edspLikeListParser(FileFd *File);
39 virtual ~edspLikeListParser();
40 };
41
42 class APT_HIDDEN edspListParser : public edspLikeListParser
43 {
44 FileFd extendedstates;
45 FileFd preferences;
46
47 protected:
48 virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
49
50 public:
51 edspListParser(FileFd *File);
52 virtual ~edspListParser();
53 };
54
55 class APT_HIDDEN eippListParser : public edspLikeListParser
56 {
57 protected:
58 virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
59
60 public:
61 eippListParser(FileFd *File);
62 virtual ~eippListParser();
63 };
64 #endif