summaryrefslogtreecommitdiff
path: root/apt-pkg/install-progress.h
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-12-29 16:04:42 +0100
committerMichael Vogt <mvo@debian.org>2013-12-29 16:04:42 +0100
commitf99a02461efe5183a00d5e73da197b85f93cf57a (patch)
tree1286d59d9700b4626111347bce45820a7cad6aba /apt-pkg/install-progress.h
parenta127de147900050d3dbc3644ed468428749c46fd (diff)
parent23bd09778261c945b460b46d855b1a6ef998cfd8 (diff)
Merge remote-tracking branch 'mvo/debian/sid' into debian/sid
Diffstat (limited to 'apt-pkg/install-progress.h')
-rw-r--r--apt-pkg/install-progress.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/apt-pkg/install-progress.h b/apt-pkg/install-progress.h
index 4b7590983..8a5b68a8f 100644
--- a/apt-pkg/install-progress.h
+++ b/apt-pkg/install-progress.h
@@ -4,6 +4,7 @@
#include <string>
#include <unistd.h>
#include <signal.h>
+#include <vector>
namespace APT {
namespace Progress {
@@ -28,7 +29,7 @@ namespace Progress {
virtual ~PackageManager() {};
/* Global Start/Stop */
- virtual void Start() {};
+ virtual void Start(int child_pty=-1) {};
virtual void Stop() {};
/* When dpkg is invoked (may happen multiple times for each
@@ -116,16 +117,22 @@ namespace Progress {
class PackageManagerFancy : public PackageManager
{
+ private:
+ static void staticSIGWINCH(int);
+ static std::vector<PackageManagerFancy*> instances;
+
protected:
- static void SetupTerminalScrollArea(int nr_rows);
- static int GetNumberTerminalRows();
- static void HandleSIGWINCH(int);
+ void SetupTerminalScrollArea(int nr_rows);
+ void HandleSIGWINCH(int);
+
+ int GetNumberTerminalRows();
sighandler_t old_SIGWINCH;
+ int child_pty;
public:
PackageManagerFancy();
~PackageManagerFancy();
- virtual void Start();
+ virtual void Start(int child_pty=-1);
virtual void Stop();
virtual bool StatusChanged(std::string PackageName,
unsigned int StepsDone,