]>
git.saurik.com Git - apt.git/blob - apt-pkg/acquire-method.h
   1 // -*- mode: cpp; mode: fold -*- 
   3 // $Id: acquire-method.h,v 1.15.2.1 2003/12/24 23:09:17 mdz Exp $ 
   4 /* ###################################################################### 
   6    Acquire Method - Method helper class + functions 
   8    These functions are designed to be used within the method task to 
   9    ease communication with APT. 
  11    ##################################################################### */ 
  14 /** \addtogroup acquire 
  17  *  \file acquire-method.h 
  20 #ifndef PKGLIB_ACQUIRE_METHOD_H 
  21 #define PKGLIB_ACQUIRE_METHOD_H 
  23 #include <apt-pkg/macros.h> 
  31 #ifndef APT_8_CLEANER_HEADERS 
  32 #include <apt-pkg/configuration.h> 
  33 #include <apt-pkg/strutl.h> 
  56       std::string SHA256Sum
; 
  57       std::string SHA512Sum
; 
  58       std::vector
<std::string
> GPGVOutput
; 
  62       unsigned long long Size
; 
  63       unsigned long long ResumePoint
; 
  65       void TakeHashes(Hashes 
&Hash
); 
  70    std::vector
<std::string
> Messages
; 
  73    std::string FailReason
; 
  74    std::string UsedMirror
; 
  77    // Handlers for messages 
  78    virtual bool Configuration(std::string Message
); 
  79    virtual bool Fetch(FetchItem 
* /*Item*/) {return true;}; 
  82    void Fail(bool Transient 
= false); 
  83    inline void Fail(const char *Why
, bool Transient 
= false) {Fail(std::string(Why
),Transient
);}; 
  84    virtual void Fail(std::string Why
, bool Transient 
= false); 
  85    virtual void URIStart(FetchResult 
&Res
); 
  86    virtual void URIDone(FetchResult 
&Res
,FetchResult 
*Alt 
= 0); 
  88    bool MediaFail(std::string Required
,std::string Drive
); 
  89    virtual void Exit() {}; 
  91    void PrintStatus(char const * const header
, const char* Format
, va_list &args
) const; 
  94    enum CnfFlags 
{SingleInstance 
= (1<<0), 
  95                   Pipeline 
= (1<<1), SendConfig 
= (1<<2), 
  96                   LocalOnly 
= (1<<3), NeedsCleanup 
= (1<<4),  
  99    void Log(const char *Format
,...); 
 100    void Status(const char *Format
,...); 
 102    void Redirect(const std::string 
&NewURI
); 
 104    int Run(bool Single 
= false); 
 105    inline void SetFailReason(std::string Msg
) {FailReason 
= Msg
;}; 
 106    inline void SetIP(std::string aIP
) {IP 
= aIP
;}; 
 108    pkgAcqMethod(const char *Ver
,unsigned long Flags 
= 0); 
 109    virtual ~pkgAcqMethod() {}; 
 112    APT_HIDDEN 
void Dequeue();