]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/edsp/edsplistparser.h
Do not use MD5SumValue for Description_md5()
[apt.git] / apt-pkg / edsp / edsplistparser.h
index 2212293022c6f38bb3cb755854c1693c791f8a09..4904b6567831da54629ea5e254056ac1e2ec9e34 100644 (file)
@@ -14,6 +14,7 @@
 #include <apt-pkg/deblistparser.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/pkgcache.h>
+#include <apt-pkg/fileutl.h>
 
 #include <string>
 
 #include <apt-pkg/tagfile.h>
 #endif
 
-class FileFd;
-
-class APT_HIDDEN edspListParser : public debListParser
+namespace APT {
+   class StringView;
+}
+class APT_HIDDEN edspLikeListParser : public debListParser
 {
-   void * const d;
    public:
    virtual bool NewVersion(pkgCache::VerIterator &Ver) APT_OVERRIDE;
-   virtual std::string Description();
-   virtual std::string DescriptionLanguage();
-   virtual MD5SumValue Description_md5() APT_OVERRIDE;
+   virtual std::vector<std::string> AvailableDescriptionLanguages() APT_OVERRIDE;
+   virtual APT::StringView Description_md5() APT_OVERRIDE;
    virtual unsigned short VersionHash() APT_OVERRIDE;
 
    bool LoadReleaseInfo(pkgCache::RlsFileIterator &FileI,FileFd &File,
                        std::string const &section);
 
+   edspLikeListParser(FileFd *File);
+   virtual ~edspLikeListParser();
+};
+
+class APT_HIDDEN edspListParser : public edspLikeListParser
+{
+   FileFd extendedstates;
+   FileFd preferences;
+
+protected:
+   virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
+
+public:
    edspListParser(FileFd *File);
    virtual ~edspListParser();
+};
 
-   protected:
+class APT_HIDDEN eippListParser : public edspLikeListParser
+{
+protected:
    virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
 
+public:
+   eippListParser(FileFd *File);
+   virtual ~eippListParser();
 };
-
 #endif