Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "TGo4ComAutosave.h"
00015
00016 #include "TGo4Log.h"
00017 #include "TGo4AnalysisClientImp.h"
00018 #include "TGo4AnalysisImp.h"
00019 #include "TGo4RemoteCommand.h"
00020
00021 TGo4ComAutosave::TGo4ComAutosave() :
00022 TGo4AnalysisCommand("ANAutosave","Do immediate autosave"),
00023 fiAutoSaveCompression(5), fbAutoSaveOverwrite(1)
00024 {
00025 GO4TRACE((12,"TGo4ComAutosave::TGo4ComAutosave() ctor",__LINE__, __FILE__));
00026 SetReceiverName("AnalysisClient");
00027
00028 SetProtection(kGo4ComModeController);
00029 }
00030
00031 TGo4ComAutosave::~TGo4ComAutosave()
00032 {
00033 GO4TRACE((12,"TGo4ComAutosave::~TGo4ComAutosave() dtor",__LINE__, __FILE__));
00034 }
00035
00036 void TGo4ComAutosave::Set(TGo4RemoteCommand* remcom)
00037 {
00038 if(remcom==0) return;
00039 SetAutoSaveCompression(remcom->GetValue(0));
00040 SetAutoSaveOverwrite(remcom->GetValue(1));
00041 SetAutoFileName(remcom->GetString(0));
00042 }
00043
00044 Int_t TGo4ComAutosave::ExeCom()
00045 {
00046 GO4TRACE((12,"TGo4ComAutosave::ExeCom()",__LINE__, __FILE__));
00047
00048 TGo4AnalysisClient* cli=dynamic_cast<TGo4AnalysisClient*> (fxReceiverBase);
00049 if (cli!=0)
00050 {
00051 TGo4Analysis* ana = TGo4Analysis::Instance();
00052 if(ana)
00053 {
00054 Bool_t autoenab=ana->IsAutoSaveOn();
00055 cli->SendStatusMessage(1, kTRUE,"Autosaving now...");
00056 ana->SetAutoSave(kTRUE);
00057 ana->SetAutoSaveFile(GetAutoFileName(),
00058 fbAutoSaveOverwrite,
00059 fiAutoSaveCompression);
00060 ana->AutoSave();
00061 ana->SetAutoSave(autoenab);
00062 }
00063
00064 }
00065 else
00066 {
00067 GO4TRACE((11,"TGo4ComAutosave::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
00068 TGo4Log::Debug(" !!! ComAutosave ''%s'': NO RECEIVER ERROR!!!",GetName());
00069 return 1;
00070 }
00071
00072 return -1;
00073 }
00074