Commit | Line | Data |
---|---|---|
31f97d7b MV |
1 | #ifndef PKGLIB_IPROGRESS_H |
2 | #define PKGLIB_IPROGRSS_H | |
3 | ||
4 | ||
5 | #include <apt-pkg/packagemanager.h> | |
6 | ||
7 | namespace APT { | |
8 | namespace Progress { | |
9 | ||
10 | ||
11 | class PackageManager | |
12 | { | |
13 | private: | |
14 | /** \brief dpointer placeholder */ | |
15 | void *d; | |
16 | ||
17 | public: | |
18 | virtual ~PackageManager() {}; | |
19 | ||
20 | virtual void Started() {}; | |
21 | virtual void Finished() {}; | |
22 | ||
23 | virtual void StatusChanged(std::string PackageName, | |
24 | unsigned int StepsDone, | |
25 | unsigned int TotalSteps) {}; | |
26 | }; | |
27 | ||
28 | class PackageManagerFancy : public PackageManager | |
29 | { | |
30 | protected: | |
31 | int last_reported_progress; | |
32 | int nr_terminal_rows; | |
33 | public: | |
34 | PackageManagerFancy(); | |
35 | virtual void Started(); | |
36 | virtual void Finished(); | |
37 | virtual void StatusChanged(std::string PackageName, | |
38 | unsigned int StepsDone, | |
39 | unsigned int TotalSteps); | |
40 | }; | |
41 | ||
42 | class PackageManagerText : public PackageManager | |
43 | { | |
44 | protected: | |
45 | int last_reported_progress; | |
46 | ||
47 | public: | |
48 | PackageManagerText() : last_reported_progress(0) {}; | |
49 | virtual void StatusChanged(std::string PackageName, | |
50 | unsigned int StepsDone, | |
51 | unsigned int TotalSteps); | |
52 | ||
53 | }; | |
54 | ||
55 | ||
56 | }; // namespace Progress | |
57 | }; // namespace APT | |
58 | ||
59 | #endif |