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

TGo4TaskOwner Class Reference

Baseclass for all instances that can own a TGo4Task. More...

#include <TGo4TaskOwner.h>

Inheritance diagram for TGo4TaskOwner:

TGo4CommandReceiver TGo4Master TGo4Slave TGo4Display TGo4AnalysisClient List of all members.

Public Member Functions

 TGo4TaskOwner ()
 TGo4TaskOwner (Bool_t isserver)
virtual ~TGo4TaskOwner ()
Bool_t IsServer ()
TGo4TaskGetTask ()
virtual Int_t StartWorkThreads ()
 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.
virtual Int_t StopWorkThreads ()
 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.
virtual void Quit ()
 Quit this instance and the owned task; method to be called from command object, may be overridden in user implementation.
const char * GetName () const
Bool_t IsConnected ()
TMutex * GetTaskManagerMutex ()
 Access to taskmanager mutex; to be locked outside main mutex.

Protected Member Functions

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

Private Attributes

TGo4TaskfxTask
 1 1
Bool_t fbServerMode
 Flag if master uses servertask or client task connection.

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


Constructor & Destructor Documentation

TGo4TaskOwner::TGo4TaskOwner  ) 
 

Definition at line 27 of file TGo4TaskOwner.cxx.

TGo4TaskOwner::TGo4TaskOwner Bool_t  isserver  ) 
 

Definition at line 34 of file TGo4TaskOwner.cxx.

TGo4TaskOwner::~TGo4TaskOwner  )  [virtual]
 

Definition at line 41 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::SetOwner().


Member Function Documentation

Bool_t TGo4TaskOwner::IsServer  )  [inline]
 

Definition at line 41 of file TGo4TaskOwner.h.

References fbServerMode.

Referenced by TGo4Master::DisconnectSlave(), GetTaskManagerMutex(), TGo4TaskHandlerAbortException::Handle(), IsConnected(), TGo4AnalysisMainRunnable::PostRun(), TGo4Master::TGo4Master(), and TGo4Slave::TGo4Slave().

TGo4Task* TGo4TaskOwner::GetTask  )  [inline]
 

Definition at line 43 of file TGo4TaskOwner.h.

References fxTask.

Referenced by TGo4HistogramServer::ConnectObjectClient(), TGo4AnalysisProxy::ConnectorPort(), TGo4AnalysisProxy::ConnectToServer(), TGo4AnalysisClient::Constructor(), TGo4Master::DisconnectSlave(), TGo4AnalysisProxy::GetRole(), GetTaskManagerMutex(), TGo4Slave::GetThreadHandler(), IsConnected(), TGo4AnalysisClient::KillMain(), TGo4AnalysisProxy::LaunchAsClient(), TGo4AnalysisClient::LockAll(), TGo4Slave::NextCommand(), TGo4DisplayLoggerTimer::Notify(), TGo4DisplayDrawerTimer::Notify(), TGo4AnalysisProxy::ReceiveStatus(), TGo4AnalysisClient::RestartMain(), TGo4AnalysisMainRunnable::Run(), TGo4Slave::SendObject(), TGo4Slave::SendStatus(), TGo4Slave::SendStatusBuffer(), TGo4Slave::SendStatusMessage(), TGo4AnalysisClient::Stop(), TGo4Master::SubmitCommand(), TGo4Master::SubmitEmergencyCommand(), TGo4Slave::Terminate(), TGo4AnalysisClient::Terminate(), TGo4AnalysisClient::TerminateFast(), TGo4AnalysisProxy::TGo4AnalysisProxy(), TGo4Display::TGo4Display(), TGo4AnalysisClient::UnLockAll(), TGo4Slave::UpdateStatus(), TGo4Slave::UpdateStatusBuffer(), TGo4HistogramServer::WaitForConnection(), TGo4HistogramServer::WaitForOpen(), and TGo4Display::~TGo4Display().

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

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

Referenced by TGo4Task::StartWorkThreads(), and TGo4AnalysisClient::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 TGo4Task::StopWorkThreads(), and TGo4AnalysisClient::StopWorkThreads().

void TGo4TaskOwner::Quit  )  [virtual]
 

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

Definition at line 60 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::Quit().

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

const char * TGo4TaskOwner::GetName  )  const
 

Definition at line 48 of file TGo4TaskOwner.cxx.

References fxTask.

Referenced by TGo4AnalysisClient::Constructor(), TGo4Slave::CreateStatus(), TGo4AnalysisClient::CreateStatus(), TGo4ComAction1::ExeCom(), TGo4AnalysisClient::Initialization(), IsConnected(), TGo4AnalysisClient::KillMain(), main(), TGo4AnalysisClient::RestartMain(), TGo4AnalysisMainRunnable::Run(), TGo4Slave::Start(), TGo4AnalysisClient::Start(), TGo4Slave::Stop(), TGo4AnalysisClient::Stop(), TGo4AnalysisClient::TGo4AnalysisClient(), and TGo4HistogramServer::TGo4HistogramServer().

Bool_t TGo4TaskOwner::IsConnected  ) 
 

Definition at line 79 of file TGo4TaskOwner.cxx.

References TGo4ServerTask::GetCurrentTaskHandler(), GetName(), GetTask(), TGo4ClientTask::IsConnected(), and IsServer().

Referenced by TGo4AnalysisProxy::IsConnected().

TMutex * TGo4TaskOwner::GetTaskManagerMutex  ) 
 

Access to taskmanager mutex; to be locked outside main mutex.

Definition at line 104 of file TGo4TaskOwner.cxx.

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

Referenced by TGo4AnalysisMainRunnable::Run().

void TGo4TaskOwner::SetTask TGo4Task task,
Bool_t  delold = kTRUE
[protected]
 

Definition at line 53 of file TGo4TaskOwner.cxx.

References fxTask, and TGo4Task::SetOwner().

Referenced by TGo4ServerTask::Shutdown(), TGo4Master::TGo4Master(), TGo4Slave::TGo4Slave(), and TGo4Task::~TGo4Task().


Friends And Related Function Documentation

friend class TGo4Task [friend]
 

Definition at line 30 of file TGo4TaskOwner.h.

friend class TGo4ServerTask [friend]
 

Definition at line 31 of file TGo4TaskOwner.h.

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


Member Data Documentation

TGo4Task* TGo4TaskOwner::fxTask [private]
 

1 1

Definition at line 78 of file TGo4TaskOwner.h.

Referenced by GetName(), GetTask(), Quit(), SetTask(), StartWorkThreads(), StopWorkThreads(), and ~TGo4TaskOwner().

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().


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