58 const char* classname,
59 const char* fullpath) :
75 virtual Bool_t
IsRemote()
const {
return kTRUE; }
100 return (res<0) || (res > millisec);
103 void ReceiveObject(TObject* obj,
const char* objfolder,
const char* objname, Bool_t owner)
107 if ((objfolder!=0) && (strlen(objfolder)!=0)) {
108 path += objfolder; path +=
"/";
110 if ((objname!=0) && (strlen(objname)!=0)) path += objname;
154 fIter = folder->GetListOfFolders()->MakeIterator();
170 return ((dynamic_cast<TFolder*>(
fCurrent)!=0) ||
171 (dynamic_cast<TGo4TreeStructure*>(
fCurrent)!=0));
176 if (strcmp(flagname,
"IsRemote")==0)
return 1;
177 if (strcmp(flagname,
"IsDeleteProtect")==0) {
182 if (strcmp(flagname,
"IsResetProtect")==0) {
247 if (entry==0)
return 0;
249 if (entry->InheritsFrom(TGo4TreeStructure::Class()))
250 return TTree::Class()->GetName();
252 if(entry->InheritsFrom(TGo4BranchStatus::Class())) {
257 if (entry->InheritsFrom(TGo4ParameterStatus::Class())) {
262 if(entry->InheritsFrom(TGo4AnalysisStatus::Class())) {
263 return TGo4AnalysisStatus::Class()->GetName();
266 if(entry->InheritsFrom(TGo4ObjectStatus::Class())) {
271 return entry->ClassName();
288 fbNamesListReceived(kFALSE),
289 fbAnalysisRunning(kFALSE),
290 fDisconectCounter(-111),
294 fxConnectionTimer(0),
295 fNumberOfWaitingProxyes(0)
326 TGo4Log::Debug(
"TGo4Display instance is not deleted correctly when analysis proxy is destroyed");
430 if (proxy==0)
continue;
432 if ((pathname!=0) && (strcmp(proxy->
GetPathName(), pathname)!=0))
continue;
440 bool docompress =
false;
441 if (proxytodelete!=0) {
443 delete proxytodelete;
450 if (proxy==0)
continue;
467 if (dynamic_cast<TGo4AnalysisStatus*> (status)!=0) {
501 fullname.Prepend(
"/");
515 TString message = status->GetName();
519 if(message.Contains(
"event classes were initialized"))
524 for(
int j=0; j<4;++j)
531 if (message.Contains(
"is shutting down now!")) {
535 if(qu!=0) qu->
Clear();
545 if (status!=0)
delete status;
560 TObject* envelopeobj = envelope->
TakeObject();
561 if ((envelopeobj!=0) && envelopeobj->InheritsFrom(TH1::Class()))
562 ((TH1*) envelopeobj)->SetDirectory(0);
631 if (classname==0)
return 0;
633 TString objfolder, objname;
651 if (proxy==0)
return kFALSE;
674 rcvname.Append(
"_status");
682 Bool_t astree = strcmp(proxy->
GetPathName(),
"Tree")==0;
686 com->SetValue(kFALSE,0);
687 com->SetValue(kFALSE,1);
688 com->SetValue(astree,2);
697 if ((fullname==0) || (tgtslot==0))
return kFALSE;
699 TString objfolder, objname;
712 if (evname==0)
return;
714 TString folder, name;
729 if (astree) folder =
"Tree";
730 else folder =
"Event";
745 TString tfoldername, tobjectname;
748 TString hfoldername, hobjectname;
778 if (obj==0)
return kFALSE;
780 const char* objname = obj->GetName();
781 if ((objname==0) || (*objname==0))
return kFALSE;
794 if((fname==0) || (strlen(fname)==0)) {
806 if((fname==0) || (strlen(fname)==0)) {
859 TString foldername, objectname;
868 TString foldername, objectname;
878 TString foldername, objectname;
913 TString foldername, objectname;
926 if (tsk==0)
return 0;
937 const char* remotehost,
938 const char* remotedir,
939 const char* remoteexe,
946 if (tsk==0)
return kFALSE;
952 name, remotehost, remotedir, remoteexe,
953 guiport, exe_kind, exeargs))
return kFALSE;
957 if ((konsole==2) || (konsole==3))
958 gSystem->Exec(launchcmd.Data());
960 fNodeName.Form(
"%s:%d",remotehost,guiport);
969 const char* remotehost,
971 const char* remotedir,
972 const char* remoteexe,
978 name, remotehost, remotedir, remoteexe,
979 remoteport, exe_kind, exeargs))
return kFALSE;
981 if ((konsole==2) || (konsole==3))
982 gSystem->Exec(launchcmd.Data());
990 const char* accesspass)
997 switch (ascontroller) {
1008 default: accesspass =
"";
break;
1013 client->
ConnectServer(remotehost, remoteport, mode, accesspass);
1014 fNodeName.Form(
"%s:%d",remotehost,remoteport);
1023 Int_t period = seconds*1000;
1026 gSystem->Sleep(100);
1027 gSystem->ProcessEvents();
1103 std::cout<<
" TGo4AnalysisProxy::HandleTimer still sees not that display is gone. Cleanup myself!"<< std::endl;
void SetLine(const char *name)
void DisplayDeleted(TGo4Display *displ)
virtual Bool_t RefreshNamesList()
virtual Int_t getflag(const char *flagname)
virtual Bool_t DelayedRefreshNamesList(Int_t delay_sec)
Bool_t IsDeleteProtect() const
TGo4AnalysisLevelIter(TFolder *folder, Bool_t istree=kFALSE)
virtual Bool_t HandleTimer(TTimer *timer)
TGo4AnalysisProxy(Bool_t isserver=kFALSE)
const char * GetObjectFullName() const
void SetDefaultReceiver(TGo4ObjectManager *rcv, const char *path)
void SetProxy(TGo4Proxy *cont)
virtual Int_t Initialization()
TGo4Slot * UpdateObjectSlot()
UInt_t GetNegotiationPort()
virtual void LoadConfigFile(const char *fname)
virtual const char * info()
virtual TGo4LevelIter * subiterator()
TGo4ObjectManager * fxReceiver
Bool_t LaunchAsClient(TString &launchcmd, TString &killcmd, Int_t shellkind, Int_t konsole, const char *name, const char *remotehost, const char *remotedir, const char *remoteexe, Int_t exe_kind=0, const char *exeargs=0)
void SetAggregate(TObject *ob)
void ReceiveStatus(TGo4Status *status)
virtual Bool_t IsRemote() const
void ChangeObjectName(const char *newname)
virtual void RemoteTreeDraw(const char *treename, const char *varexp, const char *cutcond, const char *hname)
void DoObjectAssignement(TGo4ObjectManager *rcv, const char *path, TObject *obj, Bool_t owner)
virtual void ClearAllAnalysisObjects()
virtual void ClearAnalysisObject(const char *fullpath)
virtual TGo4TaskHandler * GetTaskHandler()
Bool_t SubmitProxy(TGo4AnalysisObjectAccess *proxy)
virtual void RequestEventStatus(const char *evname, Bool_t astree, TGo4Slot *tgtslot)
void DeleteChilds(const char *startedwith=0)
virtual TGo4BufferQueue * GetCommandQueue(const char *task=0)
TFolder * GetNamesFolder(Bool_t chown=kFALSE)
virtual Bool_t IsViewer()
Bool_t IsAnalysisRunning()
virtual Bool_t IsAdministrator()
void AssignNewNamesList(TGo4AnalysisObjectNames *objnames)
virtual Bool_t IsController()
virtual Bool_t HasSublevels() const
void ReceiveObject(TObject *obj, const char *objfolder, const char *objname, Bool_t owner)
virtual ~TGo4AnalysisObjectAccess()
TGo4AnalysisObjectNames * fAnalysisNames
virtual Bool_t IsAnalysisServer() const
Bool_t IsResetProtect() const
virtual void Clear(Option_t *opt="")
virtual void Update(TGo4Slot *slot, Bool_t strong)
virtual void RemotePrintEvent(const char *evname, Int_t evnumber, Int_t subid, Bool_t ishex, Bool_t islong)
virtual const char * name()
Bool_t ConnectToServer(const char *remotehost, Int_t remoteport, Int_t ascontroller, const char *accesspass)
virtual void Initialize(TGo4Slot *slot)
TGo4Slot * RatemeterSlot()
TObject * GetAssignedObject()
void SetDefaultReceiver(TGo4ObjectManager *rcv, const char *path)
virtual void RequestAnalysisSettings()
void SetAnalysisReady(Bool_t on=kTRUE)
virtual void WriteAutoSave(const char *fname, Int_t complevel, Bool_t overwrite)
void SetAnalysis(TGo4AnalysisProxy *an)
virtual Bool_t IsConnected()
TGo4Slot * FindChild(const char *name)
virtual ~TGo4AnalysisProxy()
virtual const char * GetContainedObjectInfo()
virtual void Finalize(TGo4Slot *slot)
TGo4Slot * SettingsSlot()
TTimer * fxConnectionTimer
void ReceiveObject(TNamed *obj)
void SetAnalysisSettingsReady(Bool_t on=kTRUE)
TGo4AnalysisObjectNames * GetNamesList(Bool_t chown=kTRUE)
virtual Bool_t NamesListReceived()
virtual Bool_t CanGetObject() const
void DisplayDisconnected(TGo4Display *displ)
virtual void RemoveObjectFromAnalysis(const char *fullpath)
virtual const char * GetObjectClassName() const
virtual void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs)
virtual const char * GetObjectName() const
static const char * EntryClassName(TObject *entry)
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=0)
virtual Bool_t isremote()
virtual Bool_t isfolder()
TFolder * GetNamesFolder(Bool_t chown=kFALSE)
TGo4AnalysisObjectAccess * fxDefaultProxy
virtual TGo4LevelIter * MakeIter()
virtual ~TGo4AnalysisLevelIter()
TGo4AnalysisProxy * fxAnalProxy
void SetObjectFullName(const char *nam)
TGo4AnalysisObjectAccess * FindSubmittedProxy(const char *pathname, const char *objname)
Bool_t ConnectServer(const char *node, UInt_t negport, Go4CommandMode_t role=kGo4ComModeRefused, const char *passwd=0)
virtual const char * GetClassName()
virtual const char * GetContainedObjectInfo()
const char * GetObjectClass() const
virtual void SaveConfigFile(const char *fname)
const char * GetObjFolder() const
virtual void StartAnalysis()
static void ProduceFolderAndName(const char *fullname, TString &foldername, TString &objectname)
Int_t fNumberOfWaitingProxyes
void ForwardEvent(TGo4Slot *source, Int_t id, void *param=0)
virtual Int_t AssignObjectTo(TGo4ObjectManager *rcv, const char *path)
virtual void CloseAnalysisSettings()
virtual Bool_t RequestObjectStatus(const char *objectname, TGo4Slot *tgtslot)
Int_t AssignObjectToSlot(TGo4Slot *slot)
TString fNodeName
0 - not launched, 1 - external shell, 2 - in qt shell
void SetValue(Int_t num, Int_t i)
virtual void Delete(Option_t *opt="")
void SetString(const char *txt, Int_t i)
Go4CommandMode_t GetRole()
virtual void Initialize(TGo4Slot *slot)
TGo4AnalysisObjectAccess(TGo4AnalysisProxy *cont, Int_t proxykind, const char *name, const char *classname, const char *fullpath)
Bool_t AssignObject(TObject *obj, Bool_t owner)
const char * GetObjName() const
const char * GetPathName() const
virtual Bool_t UpdateAnalysisObject(const char *objectname, TObject *obj)
Bool_t fbNamesListReceived
virtual const char * GetServerName() const
TObjArray fxSubmittedProxy
virtual void ChageObjectProtection(const char *fullpath, const char *flags)
virtual void ExecuteLine(const char *line)
Bool_t CheckLifeTime(long int millisec)
virtual TGo4Access * ProvideAccess(const char *name)
Int_t GetObjectSize() const
static const char * GetModeDescription(Go4CommandMode_t mode)
virtual void SubmitAnalysisSettings()
Bool_t WaitForConnection(Int_t seconds)
virtual void PrintDynListEntry(const char *fullpath)
TGo4TaskManager * GetTaskManager()
virtual void ReadData(TGo4Slot *slot, TDirectory *dir)
void DeleteSubmittedProxy(TGo4AnalysisObjectAccess *proxy)
Bool_t SubmitCommand(const char *name)
virtual void DisconnectAnalysis(Int_t waittime=30, Bool_t servershutdown=kFALSE)
static void Debug(const char *text,...)
virtual void StopAnalysis()
virtual Bool_t StartConnectorThread()
static Bool_t LaunchAsServer(TString &launchcmd, TString &killcmd, Int_t shellkind, Int_t konsole, const char *name, const char *remotehost, Int_t remoteport, const char *remotedir, const char *remoteexe, Int_t exe_kind=0, const char *exeargs=0)