]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/progress.h
FileFd: avoid further writing if file failed
[apt.git] / apt-pkg / contrib / progress.h
index 20caf4cdf6321c951ee57fb20c9f281c4f4e9acb..427b1bd357fc9496d27293d79506b04077373c80 100644 (file)
@@ -7,7 +7,7 @@
    
    This class allows lengthy operations to communicate their progress 
    to the GUI. The progress model is simple and is not designed to handle
    
    This class allows lengthy operations to communicate their progress 
    to the GUI. The progress model is simple and is not designed to handle
-   the complex case of the multi-activity aquire class.
+   the complex case of the multi-activity acquire class.
    
    The model is based on the concept of an overall operation consisting
    of a series of small sub operations. Each sub operation has it's own
    
    The model is based on the concept of an overall operation consisting
    of a series of small sub operations. Each sub operation has it's own
 #ifndef PKGLIB_PROGRESS_H
 #define PKGLIB_PROGRESS_H
 
 #ifndef PKGLIB_PROGRESS_H
 #define PKGLIB_PROGRESS_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/progress.h"
-#endif 
 
 #include <string>
 #include <sys/time.h>
 
 #include <string>
 #include <sys/time.h>
+#include <apt-pkg/macros.h>
 
 
+#ifndef APT_8_CLEANER_HEADERS
 using std::string;
 using std::string;
+#endif
 
 class Configuration;
 class OpProgress
 {
 
 class Configuration;
 class OpProgress
 {
-   unsigned long Current;
-   unsigned long Total;
-   unsigned long Size;
-   unsigned long SubTotal;
+   unsigned long long Current;
+   unsigned long long Total;
+   unsigned long long Size;
+   unsigned long long SubTotal;
    float LastPercent;
    
    // Change reduction code
    struct timeval LastTime;
    float LastPercent;
    
    // Change reduction code
    struct timeval LastTime;
-   string LastOp;
-   string LastSubOp;
+   std::string LastOp;
+   std::string LastSubOp;
    
    protected:
    
    
    protected:
    
-   string Op;
-   string SubOp;
+   std::string Op;
+   std::string SubOp;
    float Percent;
    
    bool MajorChange;
    float Percent;
    
    bool MajorChange;
@@ -57,11 +57,10 @@ class OpProgress
    
    public:
    
    
    public:
    
-   void Progress(unsigned long Current);
-   void SubProgress(unsigned long SubTotal);
-   void SubProgress(unsigned long SubTotal,const string &Op);
-   void OverallProgress(unsigned long Current,unsigned long Total,
-                       unsigned long Size,const string &Op);
+   void Progress(unsigned long long Current);
+   void SubProgress(unsigned long long SubTotal, const std::string &Op = "", float const Percent = -1);
+   void OverallProgress(unsigned long long Current,unsigned long long Total,
+                       unsigned long long Size,const std::string &Op);
    virtual void Done() {};
    
    OpProgress();
    virtual void Done() {};
    
    OpProgress();
@@ -71,17 +70,17 @@ class OpProgress
 class OpTextProgress : public OpProgress
 {
    protected:
 class OpTextProgress : public OpProgress
 {
    protected:
-   
-   string OldOp;
+
+   std::string OldOp;
    bool NoUpdate;
    bool NoDisplay;
    unsigned long LastLen;
    bool NoUpdate;
    bool NoDisplay;
    unsigned long LastLen;
-   virtual void Update();
+   virtual void Update() APT_OVERRIDE;
    void Write(const char *S);
    
    public:
 
    void Write(const char *S);
    
    public:
 
-   virtual void Done();
+   virtual void Done() APT_OVERRIDE;
    
    OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), 
                 NoDisplay(false), LastLen(0) {};
    
    OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), 
                 NoDisplay(false), LastLen(0) {};