GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
TGo4TaskOwner Class Reference

#include <TGo4TaskOwner.h>

+ Inheritance diagram for TGo4TaskOwner:

Public Member Functions

 TGo4TaskOwner ()
 
 TGo4TaskOwner (Bool_t isserver)
 
virtual ~TGo4TaskOwner ()
 
Bool_t IsServer () const
 
TGo4TaskGetTask () const
 
virtual Int_t StartWorkThreads ()
 
virtual Int_t StopWorkThreads ()
 
virtual void Quit ()
 
const char * GetName () const
 
Bool_t IsConnected ()
 
Bool_t IsBeingQuit ()
 
TMutex * GetTaskManagerMutex ()
 
- Public Member Functions inherited from TGo4CommandReceiver
 TGo4CommandReceiver ()
 
virtual ~TGo4CommandReceiver ()
 

Protected Member Functions

void SetTask (TGo4Task *task, Bool_t delold=kTRUE)
 

Private Attributes

TGo4TaskfxTask {nullptr}
 
Bool_t fbServerMode {kFALSE}
 

Friends

class TGo4Task
 
class TGo4ServerTask
 

Detailed Description

Baseclass for all instances that can own a TGo4Task. Bridge between client/server functionality and master/slave.

Since
17-03-2005
Author
Joern Adamczewski

Definition at line 28 of file TGo4TaskOwner.h.

Constructor & Destructor Documentation

◆ TGo4TaskOwner() [1/2]

TGo4TaskOwner::TGo4TaskOwner ( )

Definition at line 24 of file TGo4TaskOwner.cxx.

◆ TGo4TaskOwner() [2/2]

TGo4TaskOwner::TGo4TaskOwner ( Bool_t  isserver)

Definition at line 31 of file TGo4TaskOwner.cxx.

◆ ~TGo4TaskOwner()

TGo4TaskOwner::~TGo4TaskOwner ( )
virtual

Definition at line 38 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::SetOwner().

Member Function Documentation

◆ GetName()

const char * TGo4TaskOwner::GetName ( ) const

◆ GetTask()

TGo4Task* TGo4TaskOwner::GetTask ( ) const
inline

◆ GetTaskManagerMutex()

TMutex * TGo4TaskOwner::GetTaskManagerMutex ( )

Access to taskmanager mutex; to be locked outside main mutex

Definition at line 102 of file TGo4TaskOwner.cxx.

References TGo4TaskManager::GetMutex(), GetTask(), TGo4ServerTask::GetTaskManager(), and IsServer().

Referenced by GetTask(), and TGo4AnalysisMainRunnable::Run().

◆ IsBeingQuit()

Bool_t TGo4TaskOwner::IsBeingQuit ( )

Definition at line 97 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4ThreadManager::IsBeingQuit().

Referenced by GetTask(), and main().

◆ IsConnected()

Bool_t TGo4TaskOwner::IsConnected ( )

◆ IsServer()

Bool_t TGo4TaskOwner::IsServer ( ) const
inline

◆ Quit()

void TGo4TaskOwner::Quit ( )
virtual

Quit this instance and the owned task; method to be called from command object, may be overridden in user implementation

Reimplemented in TGo4AnalysisClient.

Definition at line 58 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::Quit().

Referenced by TGo4ComMasterQuit::ExeCom(), GetTask(), and TGo4Task::Quit().

◆ SetTask()

void TGo4TaskOwner::SetTask ( TGo4Task task,
Bool_t  delold = kTRUE 
)
protected

◆ StartWorkThreads()

Int_t TGo4TaskOwner::StartWorkThreads ( )
virtual

Start the working threads of the task owner implementation; this method is used after the current connection has changed, to continue reading/writing the queues. To be overridden.

Reimplemented in TGo4AnalysisClient.

Definition at line 63 of file TGo4TaskOwner.cxx.

References TGo4Log::Debug(), fxTask, and TGo4Task::SetWorkIsStopped().

Referenced by GetTask(), TGo4AnalysisClient::StartWorkThreads(), and TGo4Task::StartWorkThreads().

◆ StopWorkThreads()

Int_t TGo4TaskOwner::StopWorkThreads ( )
virtual

stop the working threads of the task owne implementation; this method is used before the current connection is changed to prevent reading/writing and waiting for the wrong queues. To be overridden.

Reimplemented in TGo4AnalysisClient.

Definition at line 70 of file TGo4TaskOwner.cxx.

References TGo4Log::Debug(), fxTask, and TGo4Task::SetWorkIsStopped().

Referenced by GetTask(), TGo4AnalysisClient::StopWorkThreads(), and TGo4Task::StopWorkThreads().

Friends And Related Function Documentation

◆ TGo4ServerTask

friend class TGo4ServerTask
friend

Definition at line 30 of file TGo4TaskOwner.h.

Referenced by TGo4Master::TGo4Master(), and TGo4Slave::TGo4Slave().

◆ TGo4Task

friend class TGo4Task
friend

Definition at line 29 of file TGo4TaskOwner.h.

Member Data Documentation

◆ fbServerMode

Bool_t TGo4TaskOwner::fbServerMode {kFALSE}
private

Flag if master uses servertask or client task connection.

Definition at line 82 of file TGo4TaskOwner.h.

Referenced by IsServer().

◆ fxTask

TGo4Task* TGo4TaskOwner::fxTask {nullptr}
private

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