GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 ()
 
TGo4TaskGetTask ()
 
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
virtual ~TGo4CommandReceiver ()
 
 TGo4CommandReceiver ()
 

Protected Member Functions

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

Private Attributes

TGo4TaskfxTask
 
Bool_t fbServerMode
 

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 27 of file TGo4TaskOwner.h.

Constructor & Destructor Documentation

TGo4TaskOwner::TGo4TaskOwner ( )

Definition at line 25 of file TGo4TaskOwner.cxx.

TGo4TaskOwner::TGo4TaskOwner ( Bool_t  isserver)

Definition at line 32 of file TGo4TaskOwner.cxx.

TGo4TaskOwner::~TGo4TaskOwner ( )
virtual

Definition at line 39 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::SetOwner().

Member Function Documentation

const char * TGo4TaskOwner::GetName ( ) const
TGo4Task* TGo4TaskOwner::GetTask ( )
inline
TMutex * TGo4TaskOwner::GetTaskManagerMutex ( )

Access to taskmanager mutex; to be locked outside main mutex

Definition at line 104 of file TGo4TaskOwner.cxx.

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

Referenced by TGo4AnalysisMainRunnable::Run().

Bool_t TGo4TaskOwner::IsBeingQuit ( )

Definition at line 98 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4ThreadManager::IsBeingQuit().

Referenced by main().

Bool_t TGo4TaskOwner::IsConnected ( )
Bool_t TGo4TaskOwner::IsServer ( )
inline
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 59 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::Quit().

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

void TGo4TaskOwner::SetTask ( TGo4Task task,
Bool_t  delold = kTRUE 
)
protected
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 64 of file TGo4TaskOwner.cxx.

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

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

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 71 of file TGo4TaskOwner.cxx.

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

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

Friends And Related Function Documentation

friend class TGo4ServerTask
friend

Definition at line 29 of file TGo4TaskOwner.h.

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

friend class TGo4Task
friend

Definition at line 28 of file TGo4TaskOwner.h.

Member Data Documentation

Bool_t TGo4TaskOwner::fbServerMode
private

Flag if master uses servertask or client task connection.

Definition at line 81 of file TGo4TaskOwner.h.

Referenced by IsServer().

TGo4Task* TGo4TaskOwner::fxTask
private

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