]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/acquire-method.h
* apt-pkg/deb/dpkgpm.cc:
[apt.git] / apt-pkg / acquire-method.h
index 6aabcb91d34aa8c60b9dad0577ef278c65f97fb1..e02eab01859e25cff57849660d532fdb26dc8f46 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-method.h,v 1.10 1999/01/27 02:48:52 jgg Exp $
+// $Id: acquire-method.h,v 1.15.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 
    Acquire Method - Method helper class + functions
 /* ######################################################################
 
    Acquire Method - Method helper class + functions
    
    ##################################################################### */
                                                                        /*}}}*/
    
    ##################################################################### */
                                                                        /*}}}*/
+
+/** \addtogroup acquire
+ *  @{
+ *
+ *  \file acquire-method.h
+ */
+
 #ifndef PKGLIB_ACQUIRE_METHOD_H
 #define PKGLIB_ACQUIRE_METHOD_H
 
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/strutl.h>
 
 #ifndef PKGLIB_ACQUIRE_METHOD_H
 #define PKGLIB_ACQUIRE_METHOD_H
 
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/strutl.h>
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/acquire-method.h"
-#endif 
 
 
+class Hashes;
 class pkgAcqMethod
 {
    protected:
 class pkgAcqMethod
 {
    protected:
@@ -37,11 +42,16 @@ class pkgAcqMethod
    struct FetchResult
    {
       string MD5Sum;
    struct FetchResult
    {
       string MD5Sum;
+      string SHA1Sum;
+      string SHA256Sum;
+      vector<string> GPGVOutput;
       time_t LastModified;
       bool IMSHit;
       string Filename;
       unsigned long Size;
       time_t LastModified;
       bool IMSHit;
       string Filename;
       unsigned long Size;
-      unsigned long ResumePoint;      
+      unsigned long ResumePoint;
+      
+      void TakeHashes(Hashes &Hash);
       FetchResult();
    };
 
       FetchResult();
    };
 
@@ -49,10 +59,11 @@ class pkgAcqMethod
    vector<string> Messages;
    FetchItem *Queue;
    FetchItem *QueueBack;
    vector<string> Messages;
    FetchItem *Queue;
    FetchItem *QueueBack;
-      
+   string FailExtra;
+   
    // Handlers for messages
    virtual bool Configuration(string Message);
    // Handlers for messages
    virtual bool Configuration(string Message);
-   virtual bool Fetch(FetchItem *Item) {return true;};
+   virtual bool Fetch(FetchItem * /*Item*/) {return true;};
    
    // Outgoing messages
    void Fail(bool Transient = false);
    
    // Outgoing messages
    void Fail(bool Transient = false);
@@ -61,20 +72,25 @@ class pkgAcqMethod
    void URIStart(FetchResult &Res);
    void URIDone(FetchResult &Res,FetchResult *Alt = 0);
    bool MediaFail(string Required,string Drive);
    void URIStart(FetchResult &Res);
    void URIDone(FetchResult &Res,FetchResult *Alt = 0);
    bool MediaFail(string Required,string Drive);
-   
+   virtual void Exit() {};
+
    public:
 
    enum CnfFlags {SingleInstance = (1<<0),
                   Pipeline = (1<<1), SendConfig = (1<<2),
    public:
 
    enum CnfFlags {SingleInstance = (1<<0),
                   Pipeline = (1<<1), SendConfig = (1<<2),
-                  LocalOnly = (1<<3)};
+                  LocalOnly = (1<<3), NeedsCleanup = (1<<4), 
+                  Removable = (1<<5)};
 
    void Log(const char *Format,...);
    void Status(const char *Format,...);
    
    int Run(bool Single = false);
 
    void Log(const char *Format,...);
    void Status(const char *Format,...);
    
    int Run(bool Single = false);
+   inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;};
    
    pkgAcqMethod(const char *Ver,unsigned long Flags = 0);
    virtual ~pkgAcqMethod() {};
 };
 
    
    pkgAcqMethod(const char *Ver,unsigned long Flags = 0);
    virtual ~pkgAcqMethod() {};
 };
 
+/** @} */
+
 #endif
 #endif