#ifndef PKGLIB_PKGRECORDS_H
#define PKGLIB_PKGRECORDS_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/pkgrecords.h"
-#endif
#include <apt-pkg/pkgcache.h>
-#include <apt-pkg/fileutl.h>
+#include <vector>
-class pkgRecords
+class pkgRecords /*{{{*/
{
public:
class Parser;
private:
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
pkgCache &Cache;
- Parser **Files;
-
- public:
+ std::vector<Parser *>Files;
+ public:
// Lookup function
Parser &Lookup(pkgCache::VerFileIterator const &Ver);
+ Parser &Lookup(pkgCache::DescFileIterator const &Desc);
// Construct destruct
pkgRecords(pkgCache &Cache);
~pkgRecords();
};
-
-class pkgRecords::Parser
+ /*}}}*/
+class pkgRecords::Parser /*{{{*/
{
protected:
virtual bool Jump(pkgCache::VerFileIterator const &Ver) = 0;
+ virtual bool Jump(pkgCache::DescFileIterator const &Desc) = 0;
public:
friend class pkgRecords;
// These refer to the archive file for the Version
- virtual string FileName() {return string();};
- virtual string MD5Hash() {return string();};
- virtual string SHA1Hash() {return string();};
- virtual string SourcePkg() {return string();};
- virtual string SourceVer() {return string();};
+ virtual std::string FileName() {return std::string();};
+ virtual std::string MD5Hash() {return std::string();};
+ virtual std::string SHA1Hash() {return std::string();};
+ virtual std::string SHA256Hash() {return std::string();};
+ virtual std::string SHA512Hash() {return std::string();};
+ virtual std::string SourcePkg() {return std::string();};
+ virtual std::string SourceVer() {return std::string();};
// These are some general stats about the package
- virtual string Maintainer() {return string();};
- virtual string ShortDesc() {return string();};
- virtual string LongDesc() {return string();};
- virtual string Name() {return string();};
-
+ virtual std::string Maintainer() {return std::string();};
+ virtual std::string ShortDesc() {return std::string();};
+ virtual std::string LongDesc() {return std::string();};
+ virtual std::string Name() {return std::string();};
+ virtual std::string Homepage() {return std::string();}
+
+ // An arbitrary custom field
+ virtual std::string RecordField(const char *fieldName) { return std::string();};
+
// The record in binary form
virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
virtual ~Parser() {};
};
-
+ /*}}}*/
#endif