maemo5statusupdater.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef MAEMO5STATUSUPDATER_H
  2. #define MAEMO5STATUSUPDATER_H
  3. #include "istatusupdater.h"
  4. #include "maemo5/maemo5qtprojectgenerator.h"
  5. #define LASTLOG_ITEMS 10
  6. // TODO factor out commonality with SymbanStatusUpdater to a base class
  7. class Maemo5StatusUpdater : public IStatusUpdater
  8. {
  9. Q_OBJECT
  10. private:
  11. //
  12. // private members
  13. //
  14. Maemo5QtProjectGenerator &m_generator;
  15. // Progress variables
  16. int m_currentValue;
  17. int m_maximumValue;
  18. int m_phasesInAction;
  19. int m_logSize;
  20. bool m_indefinite;
  21. // Generation status
  22. QString m_statusText;
  23. GeneratorPhase m_phase;
  24. GeneratorPhase m_lastPhase;
  25. // Lastlog for checking log
  26. QString m_lastLog[LASTLOG_ITEMS];
  27. int m_lastLogCounter;
  28. public:
  29. //
  30. // lifetime management
  31. Maemo5StatusUpdater(Maemo5QtProjectGenerator & generator,
  32. QObject * parent = 0);
  33. virtual ~Maemo5StatusUpdater();
  34. //
  35. // public operators
  36. //
  37. virtual void updateGeneratorStatus(bool manualTrigger = true);
  38. virtual void setIndefiniteProgress(bool indefinite);
  39. virtual void setPhases(int phases);
  40. virtual void reset();
  41. virtual int maximumProgress();
  42. virtual int currentProgress();
  43. virtual QString statusText();
  44. virtual int logSize();
  45. virtual QFileInfo pkgFileInfo();
  46. private slots:
  47. void increase(QString message);
  48. void start(GeneratorTarget target);
  49. void stop();
  50. private:
  51. int phaseLength(GeneratorPhase phase);
  52. };
  53. #endif // MAEMO5STATUSUPDATER_H