LTP GCOV extension - code coverage report
Current view: | directory - usr/include/apt-pkg - progress.h
Test: | lcov.info
Date: | 2008-08-14 |  | Instrumented lines: | 3
Code covered: | 100.0 % |  | Executed lines: | 3

           1                 : // -*- mode: cpp; mode: fold -*-
           2                 : // Description                                                          /*{{{*/
           3                 : // $Id: progress.h,v 1.6 2001/05/07 05:06:52 jgg Exp $
           4                 : /* ######################################################################
           5                 :
           6                 :    OpProgress - Operation Progress
           7                 :
           8                 :    This class allows lengthy operations to communicate their progress
           9                 :    to the GUI. The progress model is simple and is not designed to handle
          10                 :    the complex case of the multi-activity aquire class.
          11                 :
          12                 :    The model is based on the concept of an overall operation consisting
          13                 :    of a series of small sub operations. Each sub operation has it's own
          14                 :    completion status and the overall operation has it's completion status.
          15                 :    The units of the two are not mixed and are completely independent.
          16                 :
          17                 :    The UI is expected to subclass this to provide the visuals to the user.
          18                 :
          19                 :    ##################################################################### */
          20                 :                                                                         /*}}}*/
          21                 : #ifndef PKGLIB_PROGRESS_H
          22                 : #define PKGLIB_PROGRESS_H
          23                 :
          24                 :
          25                 : #include <string>
          26                 : #include <sys/time.h>
          27                 :
          28                 : using std::string;
          29                 :
          30                 : class Configuration;
          31                 : class OpProgress
          32                 : {
          33                 :    unsigned long Current;
          34                 :    unsigned long Total;
          35                 :    unsigned long Size;
          36                 :    unsigned long SubTotal;
          37                 :    float LastPercent;
          38                 :
          39                 :    // Change reduction code
          40                 :    struct timeval LastTime;
          41                 :    string LastOp;
          42                 :    string LastSubOp;
          43                 :
          44                 :    protected:
          45                 :
          46                 :    string Op;
          47                 :    string SubOp;
          48                 :    float Percent;
          49                 :
          50                 :    bool MajorChange;
          51                 :
          52                 :    bool CheckChange(float Interval = 0.7);
          53           24433 :    virtual void Update() {};
          54                 :
          55                 :    public:
          56                 :
          57                 :    void Progress(unsigned long Current);
          58                 :    void SubProgress(unsigned long SubTotal);
          59                 :    void SubProgress(unsigned long SubTotal,const string &Op);
          60                 :    void OverallProgress(unsigned long Current,unsigned long Total,
          61                 :                         unsigned long Size,const string &Op);
          62              62 :    virtual void Done() {};
          63                 :
          64                 :    OpProgress();
          65              29 :    virtual ~OpProgress() {};
          66                 : };
          67                 :
          68                 : class OpTextProgress : public OpProgress
          69                 : {
          70                 :    protected:
          71                 :
          72                 :    string OldOp;
          73                 :    bool NoUpdate;
          74                 :    bool NoDisplay;
          75                 :    unsigned long LastLen;
          76                 :    virtual void Update();
          77                 :    void Write(const char *S);
          78                 :
          79                 :    public:
          80                 :
          81                 :    virtual void Done();
          82                 :
          83                 :    OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate),
          84                 :                 NoDisplay(false), LastLen(0) {};
          85                 :    OpTextProgress(Configuration &Config);
          86                 :    virtual ~OpTextProgress() {Done();};
          87                 : };
          88                 :
          89                 : #endif

Generated by: LTP GCOV extension version 1.6