]> git.saurik.com Git - apt.git/blame - apt-pkg/edsp/edsplistparser.h
The fastest way to get field values is as a range.
[apt.git] / apt-pkg / edsp / edsplistparser.h
CommitLineData
6d38011b
DK
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>
453b82a3
DK
15#include <apt-pkg/md5.h>
16#include <apt-pkg/pkgcache.h>
d59671c9 17#include <apt-pkg/fileutl.h>
453b82a3
DK
18
19#include <string>
472ff00e 20
b9dadc24
DK
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
49521f87
JAK
27namespace APT {
28 class StringView;
29}
d59671c9 30class APT_HIDDEN edspLikeListParser : public debListParser
6d38011b
DK
31{
32 public:
3b302846 33 virtual bool NewVersion(pkgCache::VerIterator &Ver) APT_OVERRIDE;
02ceb810 34 virtual std::vector<std::string> AvailableDescriptionLanguages() APT_OVERRIDE;
49521f87 35 virtual APT::StringView Description_md5() APT_OVERRIDE;
3b302846 36 virtual unsigned short VersionHash() APT_OVERRIDE;
6d38011b 37
b07aeb1a
DK
38 bool LoadReleaseInfo(pkgCache::RlsFileIterator &FileI,FileFd &File,
39 std::string const &section);
6d38011b 40
d59671c9
DK
41 edspLikeListParser(FileFd *File);
42 virtual ~edspLikeListParser();
43};
6d38011b 44
d59671c9
DK
45class APT_HIDDEN edspListParser : public edspLikeListParser
46{
47 FileFd extendedstates;
48 FileFd preferences;
49
50protected:
3b302846 51 virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
6d38011b 52
d59671c9
DK
53public:
54 edspListParser(FileFd *File);
55 virtual ~edspListParser();
6d38011b 56};
f74d99c6
DK
57
58class APT_HIDDEN eippListParser : public edspLikeListParser
59{
60protected:
61 virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
62
63public:
64 eippListParser(FileFd *File);
65 virtual ~eippListParser();
66};
6d38011b 67#endif