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 31 of file CmsShowTaskExecutorBase.h.

Constructor & Destructor Documentation

CmsShowTaskExecutorBase::CmsShowTaskExecutorBase ( )

Definition at line 33 of file CmsShowTaskExecutorBase.cc.

References m_taskTimer.

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

Definition at line 45 of file CmsShowTaskExecutorBase.cc.

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

Member Function Documentation

void CmsShowTaskExecutorBase::doNextTask ( )

Definition at line 78 of file CmsShowTaskExecutorBase.cc.

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

Referenced by CmsShowTaskTimer::Notify().

79 {
80  m_taskTimer->TurnOff();
81  doNextTaskImp();
82  if(moreTasksAvailable()) {
84  }
85  else {
86  tasksCompleted_.emit();
87  }
88 }
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 66 of file CmsShowTaskExecutorBase.cc.

References m_taskTimer.

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

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

Implemented in CmsShowTaskExecutor.

Member Data Documentation

CmsShowTaskTimer* CmsShowTaskExecutorBase::m_taskTimer
private

Definition at line 59 of file CmsShowTaskExecutorBase.h.

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

sigc::signal<void> CmsShowTaskExecutorBase::tasksCompleted_

Definition at line 47 of file CmsShowTaskExecutorBase.h.

Referenced by doNextTask().