Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:17

0001 #ifndef Fireworks_Core_CmsShowTaskExecutorBase_h
0002 #define Fireworks_Core_CmsShowTaskExecutorBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     CmsShowTaskExecutorBase
0007 //
0008 /**\class CmsShowTaskExecutorBase CmsShowTaskExecutorBase.h Fireworks/Core/interface/CmsShowTaskExecutorBase.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Fri Jul 11 12:09:38 EDT 2008
0019 //
0020 
0021 // system include files
0022 #include <sigc++/signal.h>
0023 
0024 // user include files
0025 
0026 // forward declarations
0027 class TTimer;
0028 class CmsShowTaskTimer;
0029 
0030 class CmsShowTaskExecutorBase {
0031 public:
0032   CmsShowTaskExecutorBase();
0033   virtual ~CmsShowTaskExecutorBase();
0034 
0035   // ---------- const member functions ---------------------
0036 
0037   // ---------- static member functions --------------------
0038 
0039   // ---------- member functions ---------------------------
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;  // stop default
0053 
0054   const CmsShowTaskExecutorBase& operator=(const CmsShowTaskExecutorBase&) = delete;  // stop default
0055 private:
0056   // ---------- member data --------------------------------
0057   //TTimer* m_timer;
0058   CmsShowTaskTimer* m_taskTimer;
0059 };
0060 
0061 #endif