GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4ComSaveAnalysisStatus.cxx
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
15
16#include "TGo4Log.h"
18#include "TGo4AnalysisImp.h"
19#include "TGo4RemoteCommand.h"
20
22 TGo4AnalysisCommand("ANSave","Save settings to file")
23{
24 GO4TRACE((12,"TGo4ComSaveAnalysisStatus::TGo4ComSaveAnalysisStatus() ctor",__LINE__, __FILE__));
25 SetReceiverName("AnalysisClient"); // this command needs client as receiver
26 // override default receiver
27 SetFileName(filename);
29}
30
31
33 TGo4AnalysisCommand("ANSave","Save settings to file")
34{
35 GO4TRACE((12,"TGo4ComSaveAnalysisStatus::TGo4ComSaveAnalysisStatus() ctor",__LINE__, __FILE__));
36 SetReceiverName("AnalysisClient"); // this command needs client as receiver
37 // override default receiver
40}
41
43{
44 if(remcom)
45 SetFileName(remcom->GetString(0));
46}
47
48
50{
51 GO4TRACE((12,"TGo4ComSaveAnalysisStatus::ExeCom()",__LINE__, __FILE__));
52
54 if (cli)
55 {
56 GO4TRACE((11,"TGo4ComSaveAnalysisStatus::ExeCom() - found valid receiver",__LINE__, __FILE__));
57 // TGo4Log::Debug(" Executing ComSaveAnalysisStatus... ");
59 if(ana)
60 {
61 Bool_t ok=ana->SaveStatus( GetFileName() );
62 if(ok)
63 {
64 cli->SendStatusMessage(1, kFALSE,TString::Format(
65 "Saved analysis status to file %s.", GetFileName()));
66 }
67 else
68 {
69 cli->SendStatusMessage(3, kFALSE,TString::Format(
70 "ERROR on Saving analysis status to file %s.", GetFileName()));
71 } // if(ok)
72 }
73 else
74 {
75 cli->SendStatusMessage(3, kTRUE, TString::Format(
76 " %s ERROR no analysis ", GetName()));
77 } // if(ana)
78 }
79 else
80 {
81 GO4TRACE((11,"TGo4ComSaveAnalysisStatus::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
82 TGo4Log::Debug(" !!! ComSaveAnalysisStatus ''%s'': NO RECEIVER ERROR!!!",GetName());
83 return 1;
84 }
85
86 return -1;
87}
@ kGo4ComModeController
Definition TGo4Command.h:30
#define GO4TRACE(X)
Definition TGo4Log.h:25
void SendStatusMessage(Int_t level, Bool_t printout, const TString &text) override
Send message to gui.
The mother of all go4 analysis.
static TGo4Analysis * Instance()
return analysis instance
Bool_t SaveStatus(const char *filename=nullptr)
Save current analysis settings into file of given name.
static const char * fgcDEFAULTSTATUSFILENAME
standard file name for analysis settings
const char * GetFileName() const
Access to the object name under command.
Int_t ExeCom() override
Do the command action.
void Set(TGo4RemoteCommand *remcon) override
Set internals of this command from specification of external remote command (command container).
void SetFileName(const char *name)
Set the object name under command.
void SetProtection(Go4CommandMode_t m)
TGo4CommandReceiver * fxReceiverBase
void SetReceiverName(const char *)
static void Debug(const char *text,...) GO4_PRINTF_ARGS
User shortcut for message with prio 0.
Definition TGo4Log.cxx:281
This command is a container for commands to be send from master to slave via inter-process transport.
const char * GetString(Int_t i) const