- backport:
authorDuncan Mac-Vicar P <dmacvicar@suse.de>
Fri, 11 Aug 2006 15:02:56 +0000 (15:02 +0000)
committerDuncan Mac-Vicar P <dmacvicar@suse.de>
Fri, 11 Aug 2006 15:02:56 +0000 (15:02 +0000)
- Add explicit finish callbacks for subtasks during ProvidePackage
  to avoid UI confusion.

zypp/ZYppCallbacks.h
zypp/source/PackageProvider.cc

index 89328c8..cc04c42 100644 (file)
@@ -60,6 +60,9 @@ namespace zypp
       virtual void problemDeltaDownload( std::string description )
       {}
 
+      virtual void finishDeltaDownload()
+      {}
+
       // Apply delta rpm:
       // - local path of downloaded delta
       // - aplpy is not interruptable
@@ -73,6 +76,9 @@ namespace zypp
       virtual void problemDeltaApply( std::string description )
       {}
 
+      virtual void finishDeltaApply()
+      {}
+
       // Dowmload patch rpm:
       // - path below url reported on start()
       // - expected download size (0 if unknown)
@@ -86,6 +92,9 @@ namespace zypp
       virtual void problemPatchDownload( std::string description )
       {}
 
+      virtual void finishPatchDownload()
+      {}
+
 
       // return false if the download should be aborted right now
       virtual bool progress(int value, Resolvable::constPtr resolvable_ptr)
index 602c53f..a26ed2b 100644 (file)
@@ -170,6 +170,7 @@ namespace zypp
           report()->problemDeltaDownload( excpt.asUserString() );
           return ManagedFile();
         }
+      report()->finishDeltaDownload();
 
       report()->startDeltaApply( delta );
       if ( ! applydeltarpm::check( delta_r.baseversion().sequenceinfo() ) )
@@ -178,7 +179,6 @@ namespace zypp
           return ManagedFile();
         }
 
-
       Pathname destination( Pathname::dirname( delta ) / defRpmFileName( _package ) );
       /* just to ease testing with non remote sources */
       if ( ! _package->source().remote() )
@@ -191,6 +191,7 @@ namespace zypp
           report()->problemDeltaApply( "applydeltarpm failed." );
           return ManagedFile();
         }
+      report()->finishDeltaApply();
 
       return ManagedFile( destination, filesystem::unlink );
     }
@@ -219,6 +220,7 @@ namespace zypp
           report()->problemPatchDownload( excpt.asUserString() );
           return ManagedFile();
         }
+      report()->finishPatchDownload();
 
       return patch;
     }