summaryrefslogtreecommitdiff
path: root/apt-pkg/install-progress.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-10-31 08:23:12 +0100
committerMichael Vogt <mvo@debian.org>2013-10-31 08:23:12 +0100
commitbd5f39b34cc0e8cebbe9103f569d4d903e75bd2b (patch)
tree841b7121ddb1a782c5afb51ff80f448de8f7125e /apt-pkg/install-progress.cc
parent00354054c15b030b90aca8a79b62b4ab2844e3f0 (diff)
restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13)
Diffstat (limited to 'apt-pkg/install-progress.cc')
-rw-r--r--apt-pkg/install-progress.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/apt-pkg/install-progress.cc b/apt-pkg/install-progress.cc
index 9d0d4e3f1..a9146f27d 100644
--- a/apt-pkg/install-progress.cc
+++ b/apt-pkg/install-progress.cc
@@ -13,6 +13,28 @@
namespace APT {
namespace Progress {
+PackageManager* PackageManagerProgressFactory()
+{
+ // select the right progress
+ int status_fd = _config->FindI("APT::Status-Fd", -1);
+ int status_deb822_fd = _config->FindI("APT::Status-deb822-Fd", -1);
+
+ APT::Progress::PackageManager *progress = NULL;
+ if (status_deb822_fd > 0)
+ progress = new APT::Progress::PackageManagerProgressDeb822Fd(
+ status_deb822_fd);
+ else if (status_fd > 0)
+ progress = new APT::Progress::PackageManagerProgressFd(status_fd);
+ else if(_config->FindB("Dpkg::Progress-Fancy", false) == true)
+ progress = new APT::Progress::PackageManagerFancy();
+ else if (_config->FindB("Dpkg::Progress",
+ _config->FindB("DpkgPM::Progress", false)) == true)
+ progress = new APT::Progress::PackageManagerText();
+ else
+ progress = new APT::Progress::PackageManager();
+ return progress;
+}
+
bool PackageManager::StatusChanged(std::string PackageName,
unsigned int StepsDone,
unsigned int TotalSteps,