GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
TGo4CommandInvoker Class Reference

#include <TGo4CommandInvoker.h>

+ Inheritance diagram for TGo4CommandInvoker:

Public Member Functions

virtual void Invoke (TGo4Command *com)
 
virtual void Invoke ()
 
virtual ~TGo4CommandInvoker ()
 
Int_t ExecuteFromRemote (TGo4RemoteCommand *remcom)
 
- Public Member Functions inherited from TGo4CommandReceiver
virtual ~TGo4CommandReceiver ()
 
 TGo4CommandReceiver ()
 

Static Public Member Functions

static TGo4CommandInvokerInstance ()
 
static void Register (const char *name, TGo4CommandReceiver *p)
 
static void UnRegister (TGo4CommandReceiver *p)
 
static void SetCommandList (TGo4CommandProtoList *list)
 

Protected Member Functions

 TGo4CommandInvoker ()
 

Static Protected Member Functions

static TGo4CommandReceiverLookup (const char *name)
 

Private Attributes

TGo4CommandfxCommand
 

Static Private Attributes

static TGo4CommandProtoListfxCommandList = 0
 
static TGo4CommandInvokerfxInstance = 0
 
static TObjArray * fxArray = 0
 
static TMutex * fxMutex = 0
 

Detailed Description

Class that knows Command Object; When Client gets the Command it is passed to the Invoker who sets the CommandClient as receiver and calls its Execute method. Decouples CommandClient and Command object circular dependencies

Definition at line 37 of file TGo4CommandInvoker.h.

Constructor & Destructor Documentation

TGo4CommandInvoker::~TGo4CommandInvoker ( )
virtual

Definition at line 63 of file TGo4CommandInvoker.cxx.

References fxArray, fxCommand, fxCommandList, fxMutex, and GO4TRACE.

TGo4CommandInvoker::TGo4CommandInvoker ( )
protected

Definition at line 51 of file TGo4CommandInvoker.cxx.

References fxArray, fxCommand, fxCommandList, fxMutex, GO4TRACE, and Register().

Referenced by Instance().

Member Function Documentation

Int_t TGo4CommandInvoker::ExecuteFromRemote ( TGo4RemoteCommand remcom)

Create real command from remote command and invoke it. Used when remote command acts on this invoker as receiver

Definition at line 161 of file TGo4CommandInvoker.cxx.

References fxCommandList, TGo4Command::GetMode(), TGo4Command::GetTaskName(), Invoke(), TGo4CommandProtoList::MakeCommand(), TGo4Command::SetMode(), and TGo4Command::SetTaskName().

Referenced by TGo4RemoteCommand::ExeCom().

TGo4CommandInvoker * TGo4CommandInvoker::Instance ( )
static
void TGo4CommandInvoker::Invoke ( TGo4Command com)
virtual
void TGo4CommandInvoker::Invoke ( )
virtual
TGo4CommandReceiver * TGo4CommandInvoker::Lookup ( const char *  name)
staticprotected

Definition at line 113 of file TGo4CommandInvoker.cxx.

References fxArray, TGo4Pair::GetReceiver(), and GO4TRACE.

Referenced by Invoke().

void TGo4CommandInvoker::Register ( const char *  name,
TGo4CommandReceiver p 
)
static
void TGo4CommandInvoker::SetCommandList ( TGo4CommandProtoList list)
static

Application may exchange standard command list by own subclass with specialized commands, e.g. for analysis control

Definition at line 155 of file TGo4CommandInvoker.cxx.

References fxCommandList.

Referenced by TGo4AnalysisClient::Constructor(), TGo4Analysis::Constructor(), TGo4Slave::TGo4Slave(), and TGo4Task::TGo4Task().

void TGo4CommandInvoker::UnRegister ( TGo4CommandReceiver p)
static

Member Data Documentation

TObjArray * TGo4CommandInvoker::fxArray = 0
staticprivate
TGo4Command* TGo4CommandInvoker::fxCommand
private

aggregation

Definition at line 70 of file TGo4CommandInvoker.h.

Referenced by Invoke(), TGo4CommandInvoker(), and ~TGo4CommandInvoker().

TGo4CommandProtoList * TGo4CommandInvoker::fxCommandList = 0
staticprivate

For remote commands, invoker will create the requested slave commands from own command list

Definition at line 74 of file TGo4CommandInvoker.h.

Referenced by ExecuteFromRemote(), SetCommandList(), TGo4CommandInvoker(), and ~TGo4CommandInvoker().

TGo4CommandInvoker * TGo4CommandInvoker::fxInstance = 0
staticprivate

Definition at line 76 of file TGo4CommandInvoker.h.

Referenced by Instance().

TMutex * TGo4CommandInvoker::fxMutex = 0
staticprivate

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