X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/60e94c8de0d794d778b8d1164950c1d2f7ced4bf..a4221092e50af0b74040f5b4ee800c78b05fd84e:/apt-pkg/sourcelist.h diff --git a/apt-pkg/sourcelist.h b/apt-pkg/sourcelist.h index e15314a5e..35b786e1a 100644 --- a/apt-pkg/sourcelist.h +++ b/apt-pkg/sourcelist.h @@ -27,18 +27,40 @@ #ifndef PKGLIB_SOURCELIST_H #define PKGLIB_SOURCELIST_H +#include +#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 pkgSource +{ + protected: + + std::vector SrcList; + +}; -class pkgAquire; -class pkgSourceList +class pkgSourceList : public pkgSource { public: @@ -50,37 +72,40 @@ class pkgSourceList // 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(string &URI) const; - virtual bool ParseLine(vector &List, + 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,string const &File) const; - virtual bool CreateItem(vector &List,string const &URI, - string const &Dist,string const &Section, - std::map const &Options) const = 0; + unsigned long const &CurLine,std::string const &File) const; + virtual bool CreateItem(std::vector &List,std::string const &URI, + std::string const &Dist,std::string const &Section, + std::map const &Options) const = 0; Type(); virtual ~Type() {}; }; - typedef vector::const_iterator const_iterator; - - protected: - - vector SrcList; + typedef std::vector::const_iterator const_iterator; public: + int ParseFileDeb822(std::string File); + bool ParseFileOldStyle(std::string File); + bool ReadMainList(); - bool Read(string File); + bool Read(std::string File); // CNC:2003-03-03 void Reset(); - bool ReadAppend(string File); - bool ReadSourceDir(string Dir); + bool ReadAppend(std::string File); + bool ReadSourceDir(std::string Dir); // List accessors inline const_iterator begin() const {return SrcList.begin();}; @@ -92,8 +117,11 @@ class pkgSourceList pkgIndexFile *&Found) const; bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const; + // query last-modified time + time_t GetLastModifiedTime(); + pkgSourceList(); - pkgSourceList(string File); + pkgSourceList(std::string File); ~pkgSourceList(); };