X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/72b2accb108e3d3ec8113ce2d183638c719a5d0d..6c55f07a5fa3612a5d59c61a17da5fe640eadc8b:/apt-pkg/sourcelist.h?ds=sidebyside diff --git a/apt-pkg/sourcelist.h b/apt-pkg/sourcelist.h index 02e27101a..e17ad6a9a 100644 --- a/apt-pkg/sourcelist.h +++ b/apt-pkg/sourcelist.h @@ -1,6 +1,5 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: sourcelist.h,v 1.12.2.1 2003/12/24 23:09:17 mdz Exp $ /* ###################################################################### SourceList - Manage a list of sources @@ -27,39 +26,54 @@ #ifndef PKGLIB_SOURCELIST_H #define PKGLIB_SOURCELIST_H +#include +#include +#include + +#include + #include #include #include -#include +#ifndef APT_8_CLEANER_HEADERS +#include +#endif #ifndef APT_8_CLEANER_HEADERS #include using std::string; using std::vector; #endif +class FileFd; +class pkgTagSection; class pkgAcquire; class pkgIndexFile; class metaIndex; class pkgSourceList { + void * const d; public: - + // List of supported source list types class Type { public: - + // Global list of Items supported static Type **GlobalList; static unsigned long GlobalListLen; - static Type *GetType(const char *Type); + static Type *GetType(const char *Type) APT_PURE; const char *Name; const char *Label; bool FixupURI(std::string &URI) const; + virtual bool ParseStanza(std::vector &List, + pkgTagSection &Tags, + int stanza_n, + FileFd &Fd); virtual bool ParseLine(std::vector &List, const char *Buffer, unsigned long const &CurLine,std::string const &File) const; @@ -69,13 +83,16 @@ class pkgSourceList Type(); virtual ~Type() {}; }; - + typedef std::vector::const_iterator const_iterator; - + protected: std::vector SrcList; - + + int ParseFileDeb822(std::string File); + bool ParseFileOldStyle(std::string File); + public: bool ReadMainList(); @@ -100,8 +117,8 @@ class pkgSourceList time_t GetLastModifiedTime(); pkgSourceList(); - pkgSourceList(std::string File); - ~pkgSourceList(); + explicit pkgSourceList(std::string File); + virtual ~pkgSourceList(); }; #endif