20#include "TGo4LockGuard.h"
51 GO4TRACE((12,
"TGo4CommandInvoker::TGo4CommandInvoker()", __LINE__, __FILE__));
61 GO4TRACE((12,
"TGo4CommandInvoker::~TGo4CommandInvoker()", __LINE__, __FILE__));
71 GO4TRACE((10,
"TGo4CommandInvoker *TGo4CommandInvoker::Instance()", __LINE__, __FILE__));
79 GO4TRACE((12,
"static void TGo4CommandInvoker::Register(const char *name, TGo4CommandReceiver *p)", __LINE__, __FILE__));
86 GO4TRACE((12,
"static void TGo4CommandInvoker::UnRegister(TGo4CommandReceiver *p)", __LINE__, __FILE__));
90 while(
auto ob = riter()) {
93 TGo4Log::Error(
"NEVER COME HERE: TGo4CommandInvoker::UnRegister - receiver list with no receiver");
107 GO4TRACE((10,
"static TGo4CommandReceiver *TGo4CommandInvoker::Lookup(const char *name)", __LINE__, __FILE__));
115 GO4TRACE((12,
"void TGo4CommandInvoker::Invoke(TGo4Command *com)", __LINE__, __FILE__));
131 GO4TRACE((12,
"void TGo4CommandInvoker::Invoke()", __LINE__, __FILE__));
Class that knows Command Object; When Client gets the Command it is passed to the Invoker who sets th...
static TGo4CommandInvoker * Instance()
static void SetCommandList(TGo4CommandProtoList *list)
Application may exchange standard command list by own subclass with specialized commands,...
static TGo4CommandReceiver * Lookup(const char *name)
TGo4Command * fxCommand
aggregation
static void UnRegister(TGo4CommandReceiver *p)
static TGo4CommandInvoker * fxInstance
Int_t ExecuteFromRemote(TGo4RemoteCommand *remcom)
Create real command from remote command and invoke it.
static TObjArray * fxArray
virtual ~TGo4CommandInvoker()
static TGo4CommandProtoList * fxCommandList
For remote commands, invoker will create the requested slave commands from own command list.
static void Register(const char *name, TGo4CommandReceiver *p)
This is the Go4 Abstract Command Class; part of the Base command pattern.
virtual Int_t RefuseCom()
Optional action if command is not allowed (warning message e.g.)
Go4CommandMode_t GetProtection() const
virtual Int_t ExeCom()
Do the command action.
void SetMode(Go4CommandMode_t m)
virtual void SetReceiver(TGo4CommandReceiver *rec)
const char * GetTaskName() const
Go4CommandMode_t GetMode() const
void SetTaskName(const char *)
const char * GetReceiverName() const
static void Debug(const char *text,...) GO4_PRINTF_ARGS
User shortcut for message with prio 0.
static void Error(const char *text,...) GO4_PRINTF_ARGS
User shortcut for message with prio 3.
const char * GetName() const override
TGo4CommandReceiver * fxReceiver
TGo4Pair(const char *name, TGo4CommandReceiver *p)
TGo4CommandReceiver * GetReceiver() const
This command is a container for commands to be send from master to slave via inter-process transport.