]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/edsp/edsplistparser.h
close server if parsing of header field failed
[apt.git] / apt-pkg / edsp / edsplistparser.h
index 5d82716c7b02613c83223552874c47d6c1ecbfa6..7cd5ab2b36ef5d921fcfade24910ecfa2ccaafb7 100644 (file)
 #define PKGLIB_EDSPLISTPARSER_H
 
 #include <apt-pkg/deblistparser.h>
+#include <apt-pkg/md5.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/fileutl.h>
 
-class FileFd;
+#include <string>
 
-class edspListParser : public debListParser
+#ifndef APT_8_CLEANER_HEADERS
+#include <apt-pkg/pkgcachegen.h>
+#include <apt-pkg/indexfile.h>
+#include <apt-pkg/tagfile.h>
+#endif
+
+class APT_HIDDEN edspLikeListParser : public debListParser
 {
    public:
-   virtual bool NewVersion(pkgCache::VerIterator &Ver);
-   virtual std::string Description();
-   virtual std::string DescriptionLanguage();
-   virtual MD5SumValue Description_md5();
-   virtual unsigned short VersionHash();
+   virtual bool NewVersion(pkgCache::VerIterator &Ver) APT_OVERRIDE;
+   virtual std::vector<std::string> AvailableDescriptionLanguages() APT_OVERRIDE;
+   virtual MD5SumValue Description_md5() APT_OVERRIDE;
+   virtual unsigned short VersionHash() APT_OVERRIDE;
+
+   bool LoadReleaseInfo(pkgCache::RlsFileIterator &FileI,FileFd &File,
+                       std::string const &section);
 
-   bool LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,FileFd &File,
-                       std::string section);
+   edspLikeListParser(FileFd *File);
+   virtual ~edspLikeListParser();
+};
 
-   edspListParser(FileFd *File, std::string const &Arch = "");
+class APT_HIDDEN edspListParser : public edspLikeListParser
+{
+   FileFd extendedstates;
+   FileFd preferences;
 
-   protected:
-   virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);
+protected:
+   virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE;
 
+public:
+   edspListParser(FileFd *File);
+   virtual ~edspListParser();
 };
-
 #endif