]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/install-progress.h
Optimize VersionHash() to not need temporary copy of input
[apt.git] / apt-pkg / install-progress.h
index 5d1a20e9bb814c765fa92b91908714e5472befe6..b5c13367637823c3ff866b5acac58add5fc8a8d4 100644 (file)
@@ -18,7 +18,7 @@ namespace Progress {
  {
  private:
     /** \brief dpointer placeholder */
-    void *d;
+    void * const d;
 
  protected:
     std::string progress_str;
@@ -26,9 +26,8 @@ namespace Progress {
     int last_reported_progress;
 
  public:
-    PackageManager()
-       : percentage(0.0), last_reported_progress(-1) {};
-    virtual ~PackageManager() {};
+    PackageManager();
+    virtual ~PackageManager();
 
     /* Global Start/Stop */
     virtual void Start(int /*child_pty*/=-1) {};
@@ -39,11 +38,11 @@ namespace Progress {
     */
     virtual void StartDpkg() {};
 
-    virtual pid_t fork() {return fork(); };
+    virtual pid_t fork() {return ::fork(); };
 
     virtual void Pulse() {};
     virtual long GetPulseInterval() {
-         return 500000;
+         return 50000000;
     };
 
     virtual bool StatusChanged(std::string PackageName,
@@ -62,6 +61,7 @@ namespace Progress {
 
  class PackageManagerProgressFd : public PackageManager
  {
+    void * const d;
  protected:
     int OutStatusFd;
     int StepsDone;
@@ -69,28 +69,30 @@ namespace Progress {
     void WriteToStatusFd(std::string msg);
 
  public:
-    PackageManagerProgressFd(int progress_fd);
+    explicit PackageManagerProgressFd(int progress_fd);
+    virtual ~PackageManagerProgressFd();
 
-    virtual void StartDpkg();
-    virtual void Stop();
+    virtual void StartDpkg() APT_OVERRIDE;
+    virtual void Stop() APT_OVERRIDE;
 
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
                                unsigned int TotalSteps,
-                               std::string HumanReadableAction);
+                               std::string HumanReadableAction) APT_OVERRIDE;
     virtual void Error(std::string PackageName,
                        unsigned int StepsDone,
                        unsigned int TotalSteps,
-                          std::string ErrorMessage);
+                          std::string ErrorMessage) APT_OVERRIDE;
     virtual void ConffilePrompt(std::string PackageName,
                                 unsigned int StepsDone,
                                 unsigned int TotalSteps,
-                                   std::string ConfMessage);
+                                   std::string ConfMessage) APT_OVERRIDE;
 
  };
 
  class PackageManagerProgressDeb822Fd : public PackageManager
  {
+    void * const d;
  protected:
     int OutStatusFd;
     int StepsDone;
@@ -98,29 +100,31 @@ namespace Progress {
     void WriteToStatusFd(std::string msg);
 
  public:
-    PackageManagerProgressDeb822Fd(int progress_fd);
+    explicit PackageManagerProgressDeb822Fd(int progress_fd);
+    virtual ~PackageManagerProgressDeb822Fd();
 
-    virtual void StartDpkg();
-    virtual void Stop();
+    virtual void StartDpkg() APT_OVERRIDE;
+    virtual void Stop() APT_OVERRIDE;
 
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
                                unsigned int TotalSteps,
-                               std::string HumanReadableAction);
+                               std::string HumanReadableAction) APT_OVERRIDE;
     virtual void Error(std::string PackageName,
                        unsigned int StepsDone,
                        unsigned int TotalSteps,
-                          std::string ErrorMessage);
+                          std::string ErrorMessage) APT_OVERRIDE;
     virtual void ConffilePrompt(std::string PackageName,
                                 unsigned int StepsDone,
                                 unsigned int TotalSteps,
-                                   std::string ConfMessage);
+                                   std::string ConfMessage) APT_OVERRIDE;
  };
 
  class PackageManagerFancy : public PackageManager
  {
+    void * const d;
  private:
-    static void staticSIGWINCH(int);
+    APT_HIDDEN static void staticSIGWINCH(int);
     static std::vector<PackageManagerFancy*> instances;
     APT_HIDDEN bool DrawStatusLine();
 
@@ -139,13 +143,13 @@ namespace Progress {
 
  public:
     PackageManagerFancy();
-    ~PackageManagerFancy();
-    virtual void Start(int child_pty=-1);
-    virtual void Stop();
+    virtual ~PackageManagerFancy();
+    virtual void Start(int child_pty=-1) APT_OVERRIDE;
+    virtual void Stop() APT_OVERRIDE;
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
                                unsigned int TotalSteps,
-                               std::string HumanReadableAction);
+                               std::string HumanReadableAction) APT_OVERRIDE;
 
     // return a progress bar of the given size for the given progress 
     // percent between 0.0 and 1.0 in the form "[####...]"
@@ -154,11 +158,15 @@ namespace Progress {
 
  class PackageManagerText : public PackageManager
  {
+    void * const d;
  public:
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
                                unsigned int TotalSteps,
-                               std::string HumanReadableAction);
+                               std::string HumanReadableAction) APT_OVERRIDE;
+
+    PackageManagerText();
+    virtual ~PackageManagerText();
  };