1 #ifndef PKGLIB_IPROGRESS_H
2 #define PKGLIB_IPROGRESS_H
14 /** \brief dpointer placeholder */
18 std::string progress_str
;
20 int last_reported_progress
;
24 : percentage(0.0), last_reported_progress(0) {};
25 virtual ~PackageManager() {};
27 virtual void Started() {};
28 virtual void Finished() {};
30 virtual pid_t
fork() {return fork(); };
32 virtual void Pulse() {};
33 virtual long GetPulseInterval() {
37 virtual bool StatusChanged(std::string PackageName
,
38 unsigned int StepsDone
,
39 unsigned int TotalSteps
,
40 std::string HumanReadableAction
) ;
41 virtual void Error(std::string PackageName
,
42 unsigned int StepsDone
,
43 unsigned int TotalSteps
,
44 std::string ErrorMessage
) {};
45 virtual void ConffilePrompt(std::string PackageName
,
46 unsigned int StepsDone
,
47 unsigned int TotalSteps
,
48 std::string ConfMessage
) {};
51 class PackageManagerProgressFd
: public PackageManager
59 PackageManagerProgressFd(int progress_fd
);
60 virtual void Started();
61 virtual void Finished();
63 virtual bool StatusChanged(std::string PackageName
,
64 unsigned int StepsDone
,
65 unsigned int TotalSteps
,
66 std::string HumanReadableAction
);
67 virtual void Error(std::string PackageName
,
68 unsigned int StepsDone
,
69 unsigned int TotalSteps
,
70 std::string ErrorMessage
);
71 virtual void ConffilePrompt(std::string PackageName
,
72 unsigned int StepsDone
,
73 unsigned int TotalSteps
,
74 std::string ConfMessage
);
78 class PackageManagerFancy
: public PackageManager
82 void SetupTerminalScrollArea(int nr_rows
);
85 PackageManagerFancy();
86 virtual void Started();
87 virtual void Finished();
88 virtual bool StatusChanged(std::string PackageName
,
89 unsigned int StepsDone
,
90 unsigned int TotalSteps
,
91 std::string HumanReadableAction
);
94 class PackageManagerText
: public PackageManager
97 virtual bool StatusChanged(std::string PackageName
,
98 unsigned int StepsDone
,
99 unsigned int TotalSteps
,
100 std::string HumanReadableAction
);
104 }; // namespace Progress