]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/install-progress.h
more refactor
[apt.git] / apt-pkg / install-progress.h
index 9c31eac928ebf0c7ad0f0e70dcdcf571a582a0a7..d721c6373193dd7510fc3680cf3e10c3f494a5af 100644 (file)
@@ -8,6 +8,9 @@
 namespace APT {
 namespace Progress {
 
+ class PackageManager;
+ PackageManager* PackageManagerProgressFactory();
+
  class PackageManager
  {
  private:
@@ -24,9 +27,15 @@ namespace Progress {
        : percentage(0.0), last_reported_progress(-1) {};
     virtual ~PackageManager() {};
 
+    /* Global Start/Stop */
     virtual void Start() {};
     virtual void Stop() {};
 
+    /* When dpkg is invoked (may happen multiple times for each 
+     * install/remove block 
+    */
+    virtual void StartDpkg() {};
+
     virtual pid_t fork() {return fork(); };
 
     virtual void Pulse() {};
@@ -59,7 +68,7 @@ namespace Progress {
  public:
     PackageManagerProgressFd(int progress_fd);
 
-    virtual void Start();
+    virtual void StartDpkg();
     virtual void Stop();
 
     virtual bool StatusChanged(std::string PackageName, 
@@ -88,7 +97,7 @@ namespace Progress {
  public:
     PackageManagerProgressDeb822Fd(int progress_fd);
 
-    virtual void Start();
+    virtual void StartDpkg();
     virtual void Stop();
 
     virtual bool StatusChanged(std::string PackageName,