GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4ServerProxy.h
Go to the documentation of this file.
1// $Id$
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 TGO4SERVERPROXY_H
15#define TGO4SERVERPROXY_H
16
17#include "TGo4Proxy.h"
18#include "TString.h"
19
21
22class TGo4ServerProxy : public TGo4Proxy {
23 protected:
25 Bool_t fbAnalysisReady{kFALSE};
26 Bool_t fbAnalysisSettingsReady{kFALSE};
28
29 TString fNodeName;
30 TString fInfoStr;
31 public:
33 virtual ~TGo4ServerProxy();
34
35 void Initialize(TGo4Slot *slot) override { fxParentSlot = slot; }
36
42
43 virtual const char *GetServerName() const { return fNodeName.Data(); }
44 virtual const char *GetUserName() const { return ""; }
45 const char *GetContainedObjectInfo() override;
46
47 virtual TString FindCommand(const char *name) { return ""; }
48 virtual Int_t NumCommandArgs(const char *name) { return -1; }
49 virtual Bool_t SubmitCommand(const char *name, Int_t waitres = -1, const char *arg1 = nullptr, const char *arg2 = nullptr, const char *arg3 = nullptr) { return kFALSE; }
50
51 virtual Bool_t IsGo4Analysis() const { return kFALSE; }
52 virtual Bool_t IsAnalysisServer() const { return kFALSE; }
53
54 virtual Bool_t IsConnected() const { return kFALSE; }
55 virtual Bool_t IsViewer() const { return kFALSE; }
56 virtual Bool_t IsController() const { return kFALSE; }
57 virtual Bool_t IsAdministrator() const { return kFALSE; }
58
59 virtual Bool_t NamesListReceived() const { return kFALSE; }
60 virtual Bool_t RefreshNamesList() { return kFALSE; }
61 virtual Bool_t DelayedRefreshNamesList(Int_t delay_sec) { return kFALSE; }
62
63 void SetAnalysisLaunched(Int_t on = 1) { fAnalysisLaunched = on; }
64 Int_t IsAnalysisLaunched() const { return fAnalysisLaunched; }
65
66 void SetAnalysisReady(Bool_t on = kTRUE) { fbAnalysisReady = on; }
67 Bool_t IsAnalysisReady() const { return fbAnalysisReady; }
68
69 void SetAnalysisSettingsReady(Bool_t on = kTRUE) { fbAnalysisSettingsReady = on ; }
71
72 virtual Bool_t CanSubmitObjects() const { return kFALSE; }
73 virtual void RequestAnalysisSettings() {}
74 virtual void SubmitAnalysisSettings() {}
75 virtual void CloseAnalysisSettings() {}
76
77 virtual Bool_t IsAnalysisRunning() const { return kFALSE; }
78 virtual void StartAnalysis() {}
79 virtual void StopAnalysis() {}
80
81 virtual Bool_t RequestObjectStatus(const char *objectname, TGo4Slot *tgtslot) { return kFALSE; }
82
83 virtual Bool_t UpdateAnalysisObject(const char *objectname, TObject *obj) { return kFALSE; }
84
85 virtual void ClearAllAnalysisObjects() {}
86 virtual void ClearAnalysisObject(const char *fullpath) {}
87
88 virtual void RemoteTreeDraw(const char *treename,
89 const char *varexp,
90 const char *cutcond,
91 const char *hname) {}
92
93 virtual void RequestEventStatus(const char *evname, Bool_t astree, TGo4Slot *tgtslot) {}
94
95 virtual void RemotePrintEvent(const char *evname,
96 Int_t evnumber,
97 Int_t subid,
98 Bool_t ishex,
99 Bool_t islong) {}
100
101 virtual void ChageObjectProtection(const char *fullpath, const char *flags) {}
102
103 virtual void RemoveObjectFromAnalysis(const char *fullpath) {}
104
105 virtual void ExecuteLine(const char *line) {}
106
107 virtual void PrintDynListEntry(const char *fullpath) {}
108
109 virtual void LoadConfigFile(const char *fname) {}
110 virtual void SaveConfigFile(const char *fname) {}
111
112 virtual void WriteAutoSave(const char *fname,
113 Int_t complevel,
114 Bool_t overwrite) {}
115
116 virtual Int_t NumberOfWaitingProxyes() { return 0; }
117
118 virtual void ResetDebugOutputRequests() {}
119
124 virtual void DisconnectAnalysis(Int_t waittime = 30, Bool_t servershutdown = kFALSE) {}
125
126
127 static Bool_t GetLaunchString(TString &launchcmd,
128 TString &killcmd,
129 Int_t serverkind, // 0 - client, 1 - go4 socket, 2 - http
130 Int_t shellkind, // 0 - exec, 1 - rsh, 2 - ssh
131 Int_t konsole, // 1 - qtwindow, 2 - xterm, 3 - konsole
132 const char *name,
133 const char *remotehost,
134 const char *remotedir,
135 const char *remoteexe,
136 Int_t guiport,
137 Int_t exe_kind = 0, // 0 - executable, 1 - user library
138 const char *exeargs = nullptr);
139
141};
142
143#endif
const char * GetContainedObjectInfo() override
virtual void RequestEventStatus(const char *evname, Bool_t astree, TGo4Slot *tgtslot)
Bool_t IsAnalysisSettingsReady() const
TGo4Slot * LoginfoSlot()
virtual void SaveConfigFile(const char *fname)
virtual Bool_t CanSubmitObjects() const
TString fNodeName
0 - not launched, 1 - external shell, 2 - in qt shell
virtual Bool_t IsConnected() const
virtual void StartAnalysis()
virtual void StopAnalysis()
virtual Bool_t IsGo4Analysis() const
void SetAnalysisReady(Bool_t on=kTRUE)
virtual void PrintDynListEntry(const char *fullpath)
virtual const char * GetServerName() const
virtual void RequestAnalysisSettings()
virtual void RemoteTreeDraw(const char *treename, const char *varexp, const char *cutcond, const char *hname)
virtual Int_t NumCommandArgs(const char *name)
virtual void CloseAnalysisSettings()
TGo4Slot * fxParentSlot
virtual void ExecuteLine(const char *line)
virtual Bool_t RequestObjectStatus(const char *objectname, TGo4Slot *tgtslot)
virtual Bool_t UpdateAnalysisObject(const char *objectname, TObject *obj)
ClassDefOverride(TGo4ServerProxy, 0)
Int_t IsAnalysisLaunched() const
virtual void DisconnectAnalysis(Int_t waittime=30, Bool_t servershutdown=kFALSE)
Close connection to analysis and destroys proxy with correspondent slot.
TString fInfoStr
name of remote node
TGo4ServerProxy()
contained object info
Bool_t fbAnalysisSettingsReady
true if analysis is connected and get first info
virtual void ChageObjectProtection(const char *fullpath, const char *flags)
virtual Bool_t SubmitCommand(const char *name, Int_t waitres=-1, const char *arg1=nullptr, const char *arg2=nullptr, const char *arg3=nullptr)
void SetAnalysisLaunched(Int_t on=1)
virtual Bool_t DelayedRefreshNamesList(Int_t delay_sec)
virtual Bool_t IsAnalysisRunning() const
TGo4Slot * DebugOutputSlot()
TGo4Slot * RatemeterSlot()
virtual Bool_t IsAnalysisServer() const
TGo4Slot * ParentSlot()
virtual Bool_t IsController() const
void Initialize(TGo4Slot *slot) override
virtual Int_t NumberOfWaitingProxyes()
virtual void RemoveObjectFromAnalysis(const char *fullpath)
virtual void WriteAutoSave(const char *fname, Int_t complevel, Bool_t overwrite)
virtual void SubmitAnalysisSettings()
TGo4Slot * SettingsSlot()
virtual void ClearAllAnalysisObjects()
virtual void RemotePrintEvent(const char *evname, Int_t evnumber, Int_t subid, Bool_t ishex, Bool_t islong)
Bool_t IsAnalysisReady() const
void SetAnalysisSettingsReady(Bool_t on=kTRUE)
virtual Bool_t IsAdministrator() const
virtual TString FindCommand(const char *name)
Int_t fAnalysisLaunched
true when settings are specified
static Bool_t GetLaunchString(TString &launchcmd, TString &killcmd, Int_t serverkind, Int_t shellkind, Int_t konsole, const char *name, const char *remotehost, const char *remotedir, const char *remoteexe, Int_t guiport, Int_t exe_kind=0, const char *exeargs=nullptr)
virtual Bool_t NamesListReceived() const
virtual const char * GetUserName() const
virtual Bool_t RefreshNamesList()
virtual void ClearAnalysisObject(const char *fullpath)
virtual Bool_t IsViewer() const
virtual void ResetDebugOutputRequests()
virtual void LoadConfigFile(const char *fname)