Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4Runnable Class Reference

Base class for all go4 runnables. More...

#include <TGo4Runnable.h>

Inheritance diagram for TGo4Runnable:

TGo4AnalysisMainRunnable TGo4AnalysisWatchRunnable TGo4ConnectorRunnable TGo4ControllerRunnable TGo4HisConnectorRunnable TGo4LocalCommandRunnable TGo4LoggingRunnable TGo4MainRunnable TGo4ObjConnectorRunnable TGo4TaskHandlerRunnable TGo4TestRunnable TGo4WatchRunnable List of all members.

Public Member Functions

 TGo4Runnable (const TGo4Runnable &right)
 TGo4Runnable (const char *name, TGo4ThreadManager *man)
virtual ~TGo4Runnable ()
void SetThread (TGo4Thread *gthread)
TGo4ThreadGetThread () const
TGo4ThreadManagerGetThreadManager () const

Protected Member Functions

 TGo4Runnable ()
virtual Int_t Run (void *ptr)=0
 The working function which runs in the thread.
virtual Int_t PreRun (void *ptr)
 Function which is called once before the Run() method on threadstart.
virtual Int_t PostRun (void *ptr)
 Function which is called once after the Run()method on threadstop.
virtual void ThreadCatch (TGo4Exception &ex)
 catch for exceptions occuring in workfunc
virtual void UnexpectedCatch ()
 catch for all unexcpected exceptions happening in workfunc

Protected Attributes

TGo4ThreadManagerfxManager
 The threadmanager which is responsible for our thread.
TGo4ThreadfxGo4Thread
 Backlink to thread which runs this.

Friends

class TGo4Thread

Detailed Description

Base class for all go4 runnables.

Virtual method Run() is working in the thread, this must be overridden by the user runnables.

Author:
J. Adamczewski

Go4 project-DVEE-GSI Darmstadt

Germany

j.adamczewski@gsi.de

Version:
0.9
Since:
jul 2000-oct 2001

Definition at line 36 of file TGo4Runnable.h.


Constructor & Destructor Documentation

TGo4Runnable::TGo4Runnable const TGo4Runnable right  ) 
 

Definition at line 31 of file TGo4Runnable.cxx.

References TRACE.

TGo4Runnable::TGo4Runnable const char *  name,
TGo4ThreadManager man
 

Definition at line 39 of file TGo4Runnable.cxx.

References fxManager, and TRACE.

TGo4Runnable::~TGo4Runnable  )  [virtual]
 

Definition at line 46 of file TGo4Runnable.cxx.

References TRACE.

TGo4Runnable::TGo4Runnable  )  [protected]
 

Definition at line 24 of file TGo4Runnable.cxx.


Member Function Documentation

void TGo4Runnable::SetThread TGo4Thread gthread  )  [inline]
 

Definition at line 46 of file TGo4Runnable.h.

References fxGo4Thread.

Referenced by TGo4Thread::TGo4Thread().

TGo4Thread* TGo4Runnable::GetThread  )  const [inline]
 

Definition at line 48 of file TGo4Runnable.h.

References fxGo4Thread.

Referenced by TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4StartException::Handle(), TGo4RestartException::Handle(), TGo4ReplaceException::Handle(), TGo4RemoveException::Handle(), TGo4CreateException::Handle(), TGo4CancelException::Handle(), TGo4TaskHandlerAbortException::Handle(), TGo4StatusRunnable::Run(), TGo4LocalCommandRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), and TGo4AnalysisMainRunnable::Run().

TGo4ThreadManager* TGo4Runnable::GetThreadManager  )  const [inline]
 

Definition at line 50 of file TGo4Runnable.h.

References fxManager.

Referenced by TGo4TerminateException::TGo4TerminateException(), and TGo4ThreadException::TGo4ThreadException().

virtual Int_t TGo4Runnable::Run void *  ptr  )  [protected, pure virtual]
 

The working function which runs in the thread.

Implemented in TGo4AnalysisMainRunnable, TGo4AnalysisWatchRunnable, TGo4HisConnectorRunnable, TGo4ObjConnectorRunnable, TGo4CommandRunnable, TGo4ConnectorRunnable, TGo4DataRunnable, TGo4LocalCommandRunnable, TGo4StatusRunnable, TGo4TaskHandlerRunnable, TGo4ControllerRunnable, TGo4LoggingRunnable, TGo4MainRunnable, TGo4WatchRunnable, and TGo4TestRunnable.

Referenced by TGo4Thread::Threadfunc().

Int_t TGo4Runnable::PreRun void *  ptr  )  [protected, virtual]
 

Function which is called once before the Run() method on threadstart.

Reimplemented in TGo4AnalysisMainRunnable.

Definition at line 71 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), and TRACE.

Referenced by TGo4Thread::Threadfunc().

Int_t TGo4Runnable::PostRun void *  ptr  )  [protected, virtual]
 

Function which is called once after the Run()method on threadstop.

Reimplemented in TGo4AnalysisMainRunnable.

Definition at line 79 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), and TRACE.

Referenced by TGo4Thread::Threadfunc().

void TGo4Runnable::ThreadCatch TGo4Exception ex  )  [protected, virtual]
 

catch for exceptions occuring in workfunc

Reimplemented in TGo4TestRunnable.

Definition at line 51 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), fxGo4Thread, TGo4Thread::GetPID(), TGo4Exception::Handle(), TRACE, and TGo4Exception::What().

Referenced by TGo4TestRunnable::ThreadCatch(), and TGo4Thread::Threadfunc().

void TGo4Runnable::UnexpectedCatch  )  [protected, virtual]
 

catch for all unexcpected exceptions happening in workfunc

Reimplemented in TGo4TestRunnable.

Definition at line 60 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), fxGo4Thread, fxManager, TGo4Thread::GetPID(), TGo4ThreadManager::Terminate(), and TRACE.

Referenced by TGo4TestRunnable::UnexpectedCatch().


Friends And Related Function Documentation

friend class TGo4Thread [friend]
 

Definition at line 37 of file TGo4Runnable.h.

Referenced by TGo4TestRunnable::Run().


Member Data Documentation

TGo4ThreadManager* TGo4Runnable::fxManager [protected]
 

The threadmanager which is responsible for our thread.

1 0..*

Definition at line 74 of file TGo4Runnable.h.

Referenced by GetThreadManager(), TGo4TestRunnable::Run(), TGo4WatchRunnable::Run(), TGo4MainRunnable::Run(), TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), TGo4Runnable(), and UnexpectedCatch().

TGo4Thread* TGo4Runnable::fxGo4Thread [protected]
 

Backlink to thread which runs this.

1 1

Definition at line 79 of file TGo4Runnable.h.

Referenced by GetThread(), TGo4TestRunnable::Run(), TGo4ConnectorRunnable::Run(), TGo4ObjConnectorRunnable::Run(), SetThread(), ThreadCatch(), and UnexpectedCatch().


The documentation for this class was generated from the following files:
Generated on Fri Nov 28 13:01:12 2008 for Go4-v3.04-1 by  doxygen 1.4.2