GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4Runnable Class Referenceabstract

Base class for all go4 runnables. More...

#include <TGo4Runnable.h>

+ Inheritance diagram for TGo4Runnable:

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

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
Version
0.9
Since
jul 2000-oct 2001

Definition at line 34 of file TGo4Runnable.h.

Constructor & Destructor Documentation

◆ TGo4Runnable() [1/3]

◆ TGo4Runnable() [2/3]

TGo4Runnable::TGo4Runnable ( const char * name,
TGo4ThreadManager * man )

Definition at line 32 of file TGo4Runnable.cxx.

References fxManager, and GO4TRACE.

◆ ~TGo4Runnable()

TGo4Runnable::~TGo4Runnable ( )
virtual

Definition at line 39 of file TGo4Runnable.cxx.

References GO4TRACE.

◆ TGo4Runnable() [3/3]

TGo4Runnable::TGo4Runnable ( )
inlineprotected

Definition at line 52 of file TGo4Runnable.h.

Member Function Documentation

◆ GetThread()

◆ GetThreadManager()

TGo4ThreadManager * TGo4Runnable::GetThreadManager ( ) const
inline

Definition at line 48 of file TGo4Runnable.h.

References fxManager.

Referenced by TGo4TerminateException::TGo4TerminateException().

◆ PostRun()

Int_t TGo4Runnable::PostRun ( void * ptr)
protectedvirtual

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

Reimplemented in TGo4AnalysisMainRunnable.

Definition at line 72 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), and GO4TRACE.

Referenced by TGo4Thread::Threadfunc().

◆ PreRun()

Int_t TGo4Runnable::PreRun ( void * ptr)
protectedvirtual

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

Reimplemented in TGo4AnalysisMainRunnable.

Definition at line 64 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), and GO4TRACE.

Referenced by TGo4Thread::Threadfunc().

◆ Run()

◆ SetThread()

void TGo4Runnable::SetThread ( TGo4Thread * gthread)
inline

Definition at line 44 of file TGo4Runnable.h.

References fxGo4Thread, and TGo4Thread.

◆ ThreadCatch()

void TGo4Runnable::ThreadCatch ( TGo4Exception & ex)
protectedvirtual

catch for exceptions occurring in workfunc

Reimplemented in TGo4TestRunnable.

Definition at line 44 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), fxGo4Thread, GO4TRACE, TGo4Exception::Handle(), and TGo4Exception::What().

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

◆ UnexpectedCatch()

void TGo4Runnable::UnexpectedCatch ( )
protectedvirtual

catch for all unexpected exceptions happening in workfunc

Reimplemented in TGo4TestRunnable.

Definition at line 53 of file TGo4Runnable.cxx.

References TGo4Log::Debug(), fxGo4Thread, fxManager, and GO4TRACE.

Referenced by TGo4TestRunnable::UnexpectedCatch().

Friends And Related Symbol Documentation

◆ TGo4Thread

friend class TGo4Thread
friend

Definition at line 35 of file TGo4Runnable.h.

References TGo4Runnable(), and TGo4Thread.

Referenced by GetThread(), TGo4TestRunnable::Run(), SetThread(), and TGo4Thread.

Field Documentation

◆ fxGo4Thread

TGo4Thread* TGo4Runnable::fxGo4Thread {nullptr}
protected

◆ fxManager

TGo4ThreadManager* TGo4Runnable::fxManager {nullptr}
protected

The documentation for this class was generated from the following files: