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