]> git.saurik.com Git - apt.git/commitdiff
refactor writing to WriteToStatusFd()
authorMichael Vogt <mvo@debian.org>
Mon, 14 Oct 2013 05:40:56 +0000 (07:40 +0200)
committerMichael Vogt <mvo@debian.org>
Mon, 14 Oct 2013 05:40:56 +0000 (07:40 +0200)
apt-pkg/iprogress.cc
apt-pkg/iprogress.h

index 6c5d33d4acab124ed1a7d03fe095b132cf98d3b0..7d1cc6341b0dcd80b59a2a66b2a0e02a005bba6a 100644 (file)
@@ -33,19 +33,24 @@ PackageManagerProgressFd::PackageManagerProgressFd(int progress_fd)
    OutStatusFd = progress_fd;
 }
 
+void PackageManagerProgressFd::WriteToStatusFd(std::string s)
+{
+   if(OutStatusFd <= 0)
+      return;
+   FileFd::Write(OutStatusFd, s.c_str(), s.size());   
+}
+
 void PackageManagerProgressFd::Started()
 {
    _config->Set("APT::Keep-Fds::", OutStatusFd);
 
    // send status information that we are about to fork dpkg
-   if(OutStatusFd > 0) {
-      std::ostringstream status;
-      status << "pmstatus:dpkg-exec:" 
-             << (StepsDone/float(StepsTotal)*100.0) 
-             << ":" << _("Running dpkg")
-             << std::endl;
-      FileFd::Write(OutStatusFd, status.str().c_str(), status.str().size());
-   }
+   std::ostringstream status;
+   status << "pmstatus:dpkg-exec:" 
+          << (StepsDone/float(StepsTotal)*100.0) 
+          << ":" << _("Running dpkg")
+          << std::endl;
+   WriteToStatusFd(status.str());
 }
 
 void PackageManagerProgressFd::Finished()
@@ -64,8 +69,7 @@ void PackageManagerProgressFd::Error(std::string PackageName,
           << ":"  << (StepsDone/float(TotalSteps)*100.0) 
           << ":" << ErrorMessage
           << std::endl;
-   if(OutStatusFd > 0)
-      FileFd::Write(OutStatusFd, status.str().c_str(), status.str().size());
+   WriteToStatusFd(status.str());
 }
 
 void PackageManagerProgressFd::ConffilePrompt(std::string PackageName,
@@ -78,8 +82,7 @@ void PackageManagerProgressFd::ConffilePrompt(std::string PackageName,
           << ":"  << (StepsDone/float(TotalSteps)*100.0) 
           << ":" << ConfMessage
           << std::endl;
-   if(OutStatusFd > 0)
-      FileFd::Write(OutStatusFd, status.str().c_str(), status.str().size());
+   WriteToStatusFd(status.str());
 }
 
 
@@ -97,8 +100,7 @@ bool PackageManagerProgressFd::StatusChanged(std::string PackageName,
           << ":"  << (StepsDone/float(StepsTotal)*100.0) 
           << ":" << pkg_action
           << std::endl;
-   if(OutStatusFd > 0)
-      FileFd::Write(OutStatusFd, status.str().c_str(), status.str().size());
+   WriteToStatusFd(status.str());
    return true;
 }
 
index 04520ffe8df9b8c4044f3cc6e7f540673d9447b7..5584b39404bf8e7863827b3190a2f654c987072d 100644 (file)
@@ -54,9 +54,12 @@ namespace Progress {
     int OutStatusFd;
     int StepsDone;
     int StepsTotal;
+    void WriteToStatusFd(std::string msg);
 
  public:
     PackageManagerProgressFd(int progress_fd);
+
+    // FIXME: rename to Start/Stop to match the pkgAcquireStatus
     virtual void Started();
     virtual void Finished();