#include <TGo4Runnable.h>
Public Member Functions | |
TGo4Runnable (const TGo4Runnable &right) | |
TGo4Runnable (const char *name, TGo4ThreadManager *man) | |
virtual | ~TGo4Runnable () |
void | SetThread (TGo4Thread *gthread) |
TGo4Thread * | GetThread () const |
TGo4ThreadManager * | GetThreadManager () const |
Protected Member Functions | |
TGo4Runnable () | |
virtual Int_t | Run (void *ptr)=0 |
virtual Int_t | PreRun (void *ptr) |
virtual Int_t | PostRun (void *ptr) |
virtual void | ThreadCatch (TGo4Exception &ex) |
virtual void | UnexpectedCatch () |
Protected Attributes | |
TGo4ThreadManager * | fxManager |
TGo4Thread * | fxGo4Thread |
Friends | |
class | TGo4Thread |
Base class for all go4 runnables. Virtual method Run() is working in the thread, this must be overridden by the user runnables.
Definition at line 33 of file TGo4Runnable.h.
TGo4Runnable::TGo4Runnable | ( | const TGo4Runnable & | right | ) |
Definition at line 29 of file TGo4Runnable.cxx.
References GO4TRACE.
TGo4Runnable::TGo4Runnable | ( | const char * | name, | |
TGo4ThreadManager * | man | |||
) |
Definition at line 37 of file TGo4Runnable.cxx.
TGo4Runnable::~TGo4Runnable | ( | ) | [virtual] |
Definition at line 44 of file TGo4Runnable.cxx.
References GO4TRACE.
TGo4Runnable::TGo4Runnable | ( | ) | [protected] |
Definition at line 22 of file TGo4Runnable.cxx.
TGo4Thread* TGo4Runnable::GetThread | ( | ) | const [inline] |
Definition at line 45 of file TGo4Runnable.h.
References fxGo4Thread.
Referenced by TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4StartException::Handle(), TGo4RestartException::Handle(), TGo4ReplaceException::Handle(), TGo4RemoveException::Handle(), TGo4CreateException::Handle(), TGo4CancelException::Handle(), TGo4TaskHandlerAbortException::Handle(), TGo4TestRunnable::Run(), TGo4StatusRunnable::Run(), TGo4LocalCommandRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), and TGo4AnalysisMainRunnable::Run().
TGo4ThreadManager* TGo4Runnable::GetThreadManager | ( | ) | const [inline] |
Definition at line 47 of file TGo4Runnable.h.
References fxManager.
Referenced by TGo4TerminateException::TGo4TerminateException(), and TGo4ThreadException::TGo4ThreadException().
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 77 of file TGo4Runnable.cxx.
References TGo4Log::Debug(), and GO4TRACE.
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 69 of file TGo4Runnable.cxx.
References TGo4Log::Debug(), and GO4TRACE.
Referenced by TGo4Thread::Threadfunc().
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().
void TGo4Runnable::SetThread | ( | TGo4Thread * | gthread | ) | [inline] |
Definition at line 43 of file TGo4Runnable.h.
References fxGo4Thread.
Referenced by TGo4Thread::TGo4Thread().
void TGo4Runnable::ThreadCatch | ( | TGo4Exception & | ex | ) | [protected, virtual] |
catch for exceptions occuring in workfunc
Reimplemented in TGo4TestRunnable.
Definition at line 49 of file TGo4Runnable.cxx.
References TGo4Log::Debug(), fxGo4Thread, TGo4Thread::GetPID(), GO4TRACE, TGo4Exception::Handle(), and TGo4Exception::What().
Referenced by TGo4Thread::Threadfunc().
void TGo4Runnable::UnexpectedCatch | ( | ) | [protected, virtual] |
catch for all unexcpected exceptions happening in workfunc
Reimplemented in TGo4TestRunnable.
Definition at line 58 of file TGo4Runnable.cxx.
References TGo4Log::Debug(), fxGo4Thread, fxManager, TGo4Thread::GetPID(), GO4TRACE, and TGo4ThreadManager::Terminate().
friend class TGo4Thread [friend] |
Definition at line 34 of file TGo4Runnable.h.
Referenced by TGo4TestRunnable::Run().
TGo4Thread* TGo4Runnable::fxGo4Thread [protected] |
Backlink to thread which runs this. 1 1
Definition at line 76 of file TGo4Runnable.h.
Referenced by GetThread(), TGo4TestRunnable::Run(), TGo4ConnectorRunnable::Run(), TGo4ObjConnectorRunnable::Run(), SetThread(), ThreadCatch(), and UnexpectedCatch().
TGo4ThreadManager* TGo4Runnable::fxManager [protected] |
The threadmanager which is responsible for our thread. 1 0..*
Definition at line 71 of file TGo4Runnable.h.
Referenced by GetThreadManager(), TGo4TestRunnable::Run(), TGo4WatchRunnable::Run(), TGo4MainRunnable::Run(), TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), TGo4Runnable(), and UnexpectedCatch().