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

This command is a container for commands to be send from master to slave via inter-process transport. More...

#include <TGo4RemoteCommand.h>

+ Inheritance diagram for TGo4RemoteCommand:

Public Member Functions

 TGo4RemoteCommand ()
 
 TGo4RemoteCommand (const char *comname)
 
virtual ~TGo4RemoteCommand ()
 
Int_t ExeCom () override
 Remote command will execute on the command invoker at the slave side to create and execute the correct command from the contained information.
 
TObject * GetAggregate (Bool_t chown=kTRUE)
 
const char * GetCommandName () const
 
const char * GetString (Int_t i) const
 
Int_t GetValue (Int_t i) const
 
void SetAggregate (TObject *ob)
 Wrap any object ob into this command container.
 
void SetCommandName (const char *txt)
 Set Go4 Name of command to be executed on the command receiver side.
 
void SetString (const char *txt, Int_t i)
 Specify string parameter txt for index i to be used in executed command.
 
void SetValue (Int_t num, Int_t i)
 Specify integer parameters to be used in executed command.
 
- Public Member Functions inherited from TGo4Command
 TGo4Command ()
 
 TGo4Command (const char *name, const char *description, Int_t id)
 
virtual ~TGo4Command ()
 
Int_t GetCommandID () const
 
Go4CommandMode_t GetMode () const
 
Go4CommandMode_t GetProtection () const
 
const char * GetReceiverName () const
 
const char * GetTaskName () const
 
virtual void Help ()
 
Bool_t IsEnabled () const
 
Bool_t IsExclusive () const
 
Bool_t IsLocal () const
 
Bool_t IsSynchron () const
 
virtual Bool_t Log (Int_t mode=0)
 
virtual Int_t RefuseCom ()
 Optional action if command is not allowed (warning message e.g.)
 
virtual void Set (TGo4RemoteCommand *remcon)
 Set internals of this command from specification of external remote command (command container).
 
void SetDescription (const char *)
 
void SetMode (Go4CommandMode_t m)
 
virtual void SetReceiver (TGo4CommandReceiver *rec)
 
void SetReceiverName (const char *)
 
void SetTaskName (const char *)
 
const char * What () const
 

Static Public Member Functions

static const char * Get_fgxREMCOMEMPTYSTRING ()
 
- Static Public Member Functions inherited from TGo4Command
static const char * GetModeDescription (Go4CommandMode_t mode)
 text description of current execution mode
 

Private Member Functions

void InitPars ()
 

Private Attributes

Int_t fiValue [__REMCOMPARS__]
 Numerical parameters for command, optional.
 
TObject * fxAggregate {nullptr}
 Optional aggregated parameter object.
 
TString fxCommandName
 Name of command to be executed.
 
TString fxParameter [__REMCOMPARS__]
 String parameters.
 

Static Private Attributes

static const char * fgxREMCOMEMPTYSTRING = "--NOSTRING--"
 

Additional Inherited Members

- Protected Member Functions inherited from TGo4Command
void SetProtection (Go4CommandMode_t m)
 
- Protected Attributes inherited from TGo4Command
Bool_t fbIsEnabled {kFALSE}
 
Bool_t fbIsExclusive {kFALSE}
 
Bool_t fbIsLocal {kFALSE}
 
Bool_t fbIsSynchron {kFALSE}
 
Int_t fiCommandID {0}
 
Go4CommandMode_t fiMode {kGo4ComModeRefused}
 mode value for execution rights of sending task
 
Go4CommandMode_t fiProtection {kGo4ComModeRefused}
 Execute protection of this command.
 
Int_t fiVersion {0}
 
TGo4CommandReceiverfxReceiverBase {nullptr}
 
- Static Protected Attributes inherited from TGo4Command
static const char * fgcMODEDESCRIPTION []
 resolve description of command modes here
 

Detailed Description

This command is a container for commands to be send from master to slave via inter-process transport.

Master Only has to know this command (Go4CommandsBase package), thus decoupling from Slave libraries

Author
J. Adamczewski, GSI
Since
27-Apr-2005

Definition at line 29 of file TGo4RemoteCommand.h.

Constructor & Destructor Documentation

◆ TGo4RemoteCommand() [1/2]

TGo4RemoteCommand::TGo4RemoteCommand ( )

Definition at line 20 of file TGo4RemoteCommand.cxx.

References TGo4Command::TGo4Command(), fxCommandName, and InitPars().

◆ TGo4RemoteCommand() [2/2]

TGo4RemoteCommand::TGo4RemoteCommand ( const char * comname)

Definition at line 27 of file TGo4RemoteCommand.cxx.

References TGo4Command::TGo4Command(), fxCommandName, and InitPars().

◆ ~TGo4RemoteCommand()

TGo4RemoteCommand::~TGo4RemoteCommand ( )
virtual

Definition at line 51 of file TGo4RemoteCommand.cxx.

Member Function Documentation

◆ ExeCom()

Int_t TGo4RemoteCommand::ExeCom ( )
overridevirtual

Remote command will execute on the command invoker at the slave side to create and execute the correct command from the contained information.

Reimplemented from TGo4Command.

Definition at line 56 of file TGo4RemoteCommand.cxx.

References TGo4CommandInvoker::ExecuteFromRemote(), fxAggregate, and TGo4Command::fxReceiverBase.

◆ Get_fgxREMCOMEMPTYSTRING()

const char * TGo4RemoteCommand::Get_fgxREMCOMEMPTYSTRING ( )
static

Definition at line 100 of file TGo4RemoteCommand.cxx.

References fgxREMCOMEMPTYSTRING.

Referenced by TGo4AnalysisObjectCommand::Set().

◆ GetAggregate()

TObject * TGo4RemoteCommand::GetAggregate ( Bool_t chown = kTRUE)

Definition at line 71 of file TGo4RemoteCommand.cxx.

References fxAggregate.

Referenced by TGo4ComSetAnalysisStatus::Set(), and TGo4ComSetObject::Set().

◆ GetCommandName()

const char * TGo4RemoteCommand::GetCommandName ( ) const
inline

Definition at line 55 of file TGo4RemoteCommand.h.

References fxCommandName.

Referenced by TGo4CommandProtoList::MakeCommand().

◆ GetString()

◆ GetValue()

Int_t TGo4RemoteCommand::GetValue ( Int_t i) const

◆ InitPars()

◆ SetAggregate()

void TGo4RemoteCommand::SetAggregate ( TObject * ob)

Wrap any object ob into this command container.

May be any parameter, condition, or other status object to be used for command execution.

Definition at line 65 of file TGo4RemoteCommand.cxx.

References fxAggregate.

Referenced by TGo4AnalysisProxy::SubmitAnalysisSettings(), and TGo4AnalysisProxy::UpdateAnalysisObject().

◆ SetCommandName()

void TGo4RemoteCommand::SetCommandName ( const char * txt)
inline

Set Go4 Name of command to be executed on the command receiver side.

Definition at line 53 of file TGo4RemoteCommand.h.

References fxCommandName.

◆ SetString()

void TGo4RemoteCommand::SetString ( const char * txt,
Int_t i )

◆ SetValue()

void TGo4RemoteCommand::SetValue ( Int_t num,
Int_t i )

Specify integer parameters to be used in executed command.

Indices are used depending on command. To be applied also for boolean values!

Definition at line 89 of file TGo4RemoteCommand.cxx.

References __REMCOMPARS__, and fiValue.

Referenced by TGo4AnalysisProxy::RemotePrintEvent(), TGo4AnalysisProxy::RequestEventStatus(), TGo4AnalysisProxy::SubmitProxy(), and TGo4AnalysisProxy::WriteAutoSave().

Field Documentation

◆ fgxREMCOMEMPTYSTRING

const char * TGo4RemoteCommand::fgxREMCOMEMPTYSTRING = "--NOSTRING--"
staticprivate

Definition at line 92 of file TGo4RemoteCommand.h.

Referenced by Get_fgxREMCOMEMPTYSTRING(), and InitPars().

◆ fiValue

Int_t TGo4RemoteCommand::fiValue[__REMCOMPARS__]
private

Numerical parameters for command, optional.

Definition at line 86 of file TGo4RemoteCommand.h.

Referenced by GetValue(), InitPars(), and SetValue().

◆ fxAggregate

TObject* TGo4RemoteCommand::fxAggregate {nullptr}
private

Optional aggregated parameter object.

May be a condition, status, canvas etc. to apply on slave node.

Definition at line 90 of file TGo4RemoteCommand.h.

Referenced by ExeCom(), GetAggregate(), and SetAggregate().

◆ fxCommandName

TString TGo4RemoteCommand::fxCommandName
private

Name of command to be executed.

Definition at line 79 of file TGo4RemoteCommand.h.

Referenced by TGo4RemoteCommand(), TGo4RemoteCommand(), GetCommandName(), and SetCommandName().

◆ fxParameter

TString TGo4RemoteCommand::fxParameter[__REMCOMPARS__]
private

String parameters.

May contain object name, folder name, passwords, etc..

Definition at line 83 of file TGo4RemoteCommand.h.

Referenced by GetString(), InitPars(), and SetString().


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