]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgrecords.h
Arch() on a MultiArch:all version should return "all" to be compatible
[apt.git] / apt-pkg / pkgrecords.h
index e129c65eb833c30f5030b031c707bb918c84cfbc..c2c98188a7e12fce76b512c767e56f1c9b256c21 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgrecords.h,v 1.1 1998/08/09 00:51:35 jgg Exp $
+// $Id: pkgrecords.h,v 1.6 2001/03/13 06:51:46 jgg Exp $
 /* ######################################################################
    
    Package Records - Allows access to complete package description records
 /* ######################################################################
    
    Package Records - Allows access to complete package description records
    
    ##################################################################### */
                                                                        /*}}}*/
    
    ##################################################################### */
                                                                        /*}}}*/
-// Header section: pkglib
 #ifndef PKGLIB_PKGRECORDS_H
 #define PKGLIB_PKGRECORDS_H
 
 #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 <apt-pkg/pkgcache.h>
 #include <apt-pkg/fileutl.h>
+#include <vector>
 
 
-class pkgRecords
+class pkgRecords                                                       /*{{{*/
 {
    public:
    class Parser;
 {
    public:
    class Parser;
@@ -33,35 +30,48 @@ class pkgRecords
    private:
    
    pkgCache &Cache;
    private:
    
    pkgCache &Cache;
-   
-   // List of package files
-   struct PkgFile
-   {
-      FileFd *File;
-      Parser *Parse;
+   std::vector<Parser *>Files;
 
 
-      PkgFile() : File(0), Parse(0) {};
-      ~PkgFile();
-   };
-   PkgFile *Files;
-   
    public:
 
    // Lookup function
    public:
 
    // Lookup function
-   Parser &Lookup(pkgCache::VerFileIterator &Ver);
-      
+   Parser &Lookup(pkgCache::VerFileIterator const &Ver);
+   Parser &Lookup(pkgCache::DescFileIterator const &Desc);
+
    // Construct destruct
    pkgRecords(pkgCache &Cache);
    ~pkgRecords();
 };
    // 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:
    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 SHA256Hash() {return string();};
+   virtual string SourcePkg() {return string();};
+   virtual string SourceVer() {return 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 string Homepage() {return string();}
    
    
-   virtual bool Jump(pkgCache::VerFileIterator &Ver) = 0;
+   // The record in binary form
+   virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
    
    virtual ~Parser() {};
 };
    
    virtual ~Parser() {};
 };
-
+                                                                       /*}}}*/
 #endif
 #endif