- enum {Deb} Type;
-
- string URI;
- string Dist;
- string Section;
-
- bool SetType(string S);
- bool SetURI(string S);
- string PackagesURI() const;
- string PackagesInfo() const;
- string SiteOnly(string URI) const;
- string ArchiveInfo(pkgCache::VerIterator Ver) const;
- string ArchiveURI(string File) const;
+ public:
+
+ // Global list of Items supported
+ static Type **GlobalList;
+ static unsigned long GlobalListLen;
+ static Type *GetType(const char *Type) APT_PURE;
+
+ char const * const Name;
+ char const * const Label;
+
+ bool FixupURI(std::string &URI) const;
+ virtual bool ParseStanza(std::vector<metaIndex *> &List,
+ pkgTagSection &Tags,
+ unsigned int const stanza_n,
+ FileFd &Fd);
+ virtual bool ParseLine(std::vector<metaIndex *> &List,
+ const char *Buffer,
+ unsigned int const CurLine,std::string const &File) const;
+ virtual bool CreateItem(std::vector<metaIndex *> &List,std::string const &URI,
+ std::string const &Dist,std::string const &Section,
+ std::map<std::string, std::string> const &Options) const = 0;
+ Type(char const * const Name, char const * const Label);
+ virtual ~Type();