00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TGo4ComLoadAnalysisStatus.h"
00017
00018 #include "TGo4Log.h"
00019 #include "TGo4AnalysisClientImp.h"
00020 #include "TGo4RuntimeException.h"
00021 #include "TGo4AnalysisImp.h"
00022 #include "TGo4RemoteCommand.h"
00023
00024 TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus(const char* filename)
00025 :TGo4AnalysisCommand("ANLoad","Load Analysis Settings from file")
00026 {
00027 TRACE((12,"TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus() ctor",__LINE__, __FILE__));
00028 SetReceiverName("AnalysisClient");
00029
00030 SetProtection(kGo4ComModeController);
00031 SetFileName(filename);
00032 }
00033
00034 TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus()
00035 :TGo4AnalysisCommand("ANLoad","Load Analysis Settings from file")
00036 {
00037 TRACE((12,"TGo4ComLoadAnalysisStatus::TGo4ComLoadAnalysisStatus() ctor",__LINE__, __FILE__));
00038 SetReceiverName("AnalysisClient");
00039
00040 SetFileName(TGo4Analysis::fgcDEFAULTSTATUSFILENAME);
00041 SetProtection(kGo4ComModeController);
00042 }
00043
00044 TGo4ComLoadAnalysisStatus::~TGo4ComLoadAnalysisStatus()
00045 {
00046 TRACE((12,"TGo4ComLoadAnalysisStatus::~TGo4ComLoadAnalysisStatus() dtor",__LINE__, __FILE__));
00047 }
00048
00049 void TGo4ComLoadAnalysisStatus::Set(TGo4RemoteCommand* remcom)
00050 {
00051 if(remcom==0) return;
00052 SetFileName(remcom->GetString(0));
00053 }
00054
00055 Int_t TGo4ComLoadAnalysisStatus::ExeCom()
00056 {
00057 TRACE((12,"TGo4ComLoadAnalysisStatus::ExeCom()",__LINE__, __FILE__));
00058
00059 TGo4AnalysisClient* cli=dynamic_cast<TGo4AnalysisClient*> (fxReceiverBase);
00060 if (cli!=0)
00061 {
00062 TRACE((11,"TGo4ComLoadAnalysisStatus::ExeCom() - found valid receiver",__LINE__, __FILE__));
00063
00064 TGo4Analysis* ana= TGo4Analysis::Instance();
00065 if(ana)
00066 {
00067 Bool_t ok=ana->LoadStatus( GetFileName() );
00068 if(ok)
00069 {
00070 cli->SendStatusMessage(1, kFALSE,"Loaded analysis status from file %s.",
00071 GetFileName());
00072 }
00073 else
00074 {
00075 cli->SendStatusMessage(3, kFALSE,"ERROR on Loading analysis status from file %s",
00076 GetFileName());
00077 }
00078
00079 }
00080 else
00081 {
00082 cli->SendStatusMessage(3, kTRUE," %s ERROR no analysis",
00083 GetName());
00084 }
00085
00086 }
00087 else
00088 {
00089 TRACE((11,"TGo4ComLoadAnalysisStatus::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
00090 TGo4Log::Debug(" !!! ComLoadAnalysisStatus ''%s'': NO RECEIVER ERROR!!!",GetName());
00091 throw TGo4RuntimeException();
00092 return 1;
00093 }
00094
00095 return -1;
00096 }
00097
00098
00099