GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4CommandInvoker.h
Go to the documentation of this file.
1 // $Id: TGo4CommandInvoker.h 2627 2019-10-01 08:02:45Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4COMMANDINVOKER_H
15 #define TGO4COMMANDINVOKER_H
16 
22 #include "TObject.h"
23 #include "TGo4CommandReceiver.h"
24 
25 class TMutex;
26 class TObjArray;
27 class TGo4Command;
28 class TGo4RemoteCommand;
30 
37 class TGo4CommandInvoker : public TObject, public TGo4CommandReceiver {
38 
39  public:
40 
41  static TGo4CommandInvoker * Instance();
42 
43  static void Register(const char* name, TGo4CommandReceiver *p);
44 
45  static void UnRegister(TGo4CommandReceiver* p);
46 
47  virtual void Invoke(TGo4Command * com);
48 
49  virtual void Invoke();
50 
51  virtual ~TGo4CommandInvoker();
52 
55  static void SetCommandList(TGo4CommandProtoList* list);
56 
59  Int_t ExecuteFromRemote(TGo4RemoteCommand* remcom);
60 
61  protected:
62 
64 
65  static TGo4CommandReceiver * Lookup(const char* name);
66 
67  private:
68 
71 
75 
77  static TObjArray * fxArray;
78  static TMutex * fxMutex;
79  ClassDef(TGo4CommandInvoker, 2)
80 };
81 
82 #endif //TGO4COMMANDINVOKER_H
static TGo4CommandInvoker * fxInstance
static void SetCommandList(TGo4CommandProtoList *list)
static void UnRegister(TGo4CommandReceiver *p)
static TGo4CommandProtoList * fxCommandList
static TMutex * fxMutex
static void Register(const char *name, TGo4CommandReceiver *p)
static TGo4CommandReceiver * Lookup(const char *name)
Int_t ExecuteFromRemote(TGo4RemoteCommand *remcom)
static TGo4CommandInvoker * Instance()
static TObjArray * fxArray
TGo4Command * fxCommand