]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/progress.h
strip everything spacey in APT::String::Strip
[apt.git] / apt-pkg / contrib / progress.h
index 39e770fa3a4e64091d106287981e1e2f1699cdb9..f7fbc9ccf8470ee37b6e33410f80b115d0b6702c 100644 (file)
@@ -1,13 +1,13 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: progress.h,v 1.1 1998/07/21 05:33:21 jgg Exp $
+// $Id: progress.h,v 1.6 2001/05/07 05:06:52 jgg Exp $
 /* ######################################################################
    
    OpProgress - Operation Progress
    
    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
    
    ##################################################################### */
                                                                        /*}}}*/
-// Header section: pkglib
 #ifndef PKGLIB_PROGRESS_H
 #define PKGLIB_PROGRESS_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/progress.h"
-#endif 
 
 #include <string>
 #include <sys/time.h>
 
+#ifndef APT_8_CLEANER_HEADERS
+using std::string;
+#endif
+
+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;
-   string LastOp;
+   std::string LastOp;
+   std::string LastSubOp;
    
    protected:
    
-   string Op;
-   string SubOp;
+   std::string Op;
+   std::string SubOp;
    float Percent;
    
    bool MajorChange;
@@ -54,11 +56,12 @@ class OpProgress
    
    public:
    
-   void Progress(unsigned long Current);
-   void SubProgress(unsigned long SubTotal,string Op);
-   void OverallProgress(unsigned long Current,unsigned long Total,
-                       unsigned long Size,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 ~OpProgress() {};
 };
@@ -66,18 +69,21 @@ class OpProgress
 class OpTextProgress : public OpProgress
 {
    protected:
-   
-   string OldOp;
+
+   std::string OldOp;
    bool NoUpdate;
+   bool NoDisplay;
    unsigned long LastLen;
    virtual void Update();
    void Write(const char *S);
    
    public:
 
-   void Done();
+   virtual void Done();
    
-   OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), LastLen(0) {};
+   OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), 
+                NoDisplay(false), LastLen(0) {};
+   OpTextProgress(Configuration &Config);
    virtual ~OpTextProgress() {Done();};
 };