summaryrefslogtreecommitdiff
path: root/apt-pkg/install-progress.h
diff options
context:
space:
mode:
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,