CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
CmsShowTaskExecutorBase Class Referenceabstract

#include <Fireworks/Core/interface/CmsShowTaskExecutorBase.h>

Inheritance diagram for CmsShowTaskExecutorBase:
CmsShowTaskExecutor

Public Member Functions

 CmsShowTaskExecutorBase ()
 
void doNextTask ()
 
void requestNextTask ()
 
virtual void startDoingTasks ()=0
 
virtual ~CmsShowTaskExecutorBase ()
 

Public Attributes

sigc::signal< void > tasksCompleted_
 

Protected Member Functions

virtual void doNextTaskImp ()=0
 
virtual bool moreTasksAvailable ()=0
 

Private Member Functions

 CmsShowTaskExecutorBase (const CmsShowTaskExecutorBase &)
 
const CmsShowTaskExecutorBaseoperator= (const CmsShowTaskExecutorBase &)
 

Private Attributes

CmsShowTaskTimerm_taskTimer
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 30 of file CmsShowTaskExecutorBase.h.

Constructor & Destructor Documentation

CmsShowTaskExecutorBase::CmsShowTaskExecutorBase ( )

Definition at line 32 of file CmsShowTaskExecutorBase.cc.

References m_taskTimer.

34 {
35  //m_timer->Connect("Timeout()","CmsShowTaskExecutorBase",this,"doNextTask()");
36  m_taskTimer = new CmsShowTaskTimer(this, 10);
37 }
CmsShowTaskExecutorBase::~CmsShowTaskExecutorBase ( )
virtual

Definition at line 44 of file CmsShowTaskExecutorBase.cc.

45 {
46  //delete m_timer;
47 }
CmsShowTaskExecutorBase::CmsShowTaskExecutorBase ( const CmsShowTaskExecutorBase )
private

Member Function Documentation

void CmsShowTaskExecutorBase::doNextTask ( )

Definition at line 77 of file CmsShowTaskExecutorBase.cc.

References doNextTaskImp(), m_taskTimer, moreTasksAvailable(), requestNextTask(), and tasksCompleted_.

Referenced by CmsShowTaskTimer::Notify().

78 {
79  m_taskTimer->TurnOff();
80  doNextTaskImp();
81  if(moreTasksAvailable()) {
83  }
84  else {
85  tasksCompleted_.emit();
86  }
87 }
virtual bool moreTasksAvailable()=0
virtual void doNextTaskImp()=0
sigc::signal< void > tasksCompleted_
virtual void CmsShowTaskExecutorBase::doNextTaskImp ( )
protectedpure virtual

Implemented in CmsShowTaskExecutor.

Referenced by doNextTask().

virtual bool CmsShowTaskExecutorBase::moreTasksAvailable ( )
protectedpure virtual

Implemented in CmsShowTaskExecutor.

Referenced by doNextTask().

const CmsShowTaskExecutorBase& CmsShowTaskExecutorBase::operator= ( const CmsShowTaskExecutorBase )
private
void CmsShowTaskExecutorBase::requestNextTask ( )

Definition at line 65 of file CmsShowTaskExecutorBase.cc.

References m_taskTimer.

Referenced by doNextTask(), and CmsShowTaskExecutor::startDoingTasks().

66 {
67  //NOTE: If I use my own timer then the first time I call Start it works but the second
68  // time causes a segmentation fault
69 
70  //Emit("requestNextTask()");
71  //m_timer->Start(1,kTRUE);
72  //std::cout <<"requestNextTask"<<std::endl;
73  m_taskTimer->TurnOn();
74 }
virtual void CmsShowTaskExecutorBase::startDoingTasks ( )
pure virtual

Implemented in CmsShowTaskExecutor.

Member Data Documentation

CmsShowTaskTimer* CmsShowTaskExecutorBase::m_taskTimer
private

Definition at line 58 of file CmsShowTaskExecutorBase.h.

Referenced by CmsShowTaskExecutorBase(), doNextTask(), and requestNextTask().

sigc::signal<void> CmsShowTaskExecutorBase::tasksCompleted_

Definition at line 46 of file CmsShowTaskExecutorBase.h.

Referenced by doNextTask().