File indexing completed on 2024-04-06 12:11:30
0001 #ifndef Fireworks_Core_CmsShowTaskExecutorBase_h
0002 #define Fireworks_Core_CmsShowTaskExecutorBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <sigc++/signal.h>
0023
0024
0025
0026
0027 class TTimer;
0028 class CmsShowTaskTimer;
0029
0030 class CmsShowTaskExecutorBase {
0031 public:
0032 CmsShowTaskExecutorBase();
0033 virtual ~CmsShowTaskExecutorBase();
0034
0035
0036
0037
0038
0039
0040 void requestNextTask();
0041 void doNextTask();
0042
0043 virtual void startDoingTasks() = 0;
0044
0045 sigc::signal<void()> tasksCompleted_;
0046
0047 protected:
0048 virtual void doNextTaskImp() = 0;
0049 virtual bool moreTasksAvailable() = 0;
0050
0051 public:
0052 CmsShowTaskExecutorBase(const CmsShowTaskExecutorBase&) = delete;
0053
0054 const CmsShowTaskExecutorBase& operator=(const CmsShowTaskExecutorBase&) = delete;
0055 private:
0056
0057
0058 CmsShowTaskTimer* m_taskTimer;
0059 };
0060
0061 #endif