00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TGo4ComSetDynamicEntry.h"
00017
00018 #include "Go4Log/TGo4Log.h"
00019 #include "Go4AnalysisClient/TGo4AnalysisClientImp.h"
00020 #include "Go4Analysis/TGo4AnalysisImp.h"
00021
00022 TGo4ComSetDynamicEntry::TGo4ComSetDynamicEntry (const char* entryname, const char* listname)
00023 :TGo4DynamicListCommand("ANSetDyn","Sets Dynamic Entry",entryname, listname),
00024 fxEntryStatus(0)
00025 {
00026 TRACE((12,"TGo4ComSetDynamicEntry::TGo4ComSetDynamicEntry() ctor",__LINE__, __FILE__));
00027 SetProtection(kGo4ComModeController);
00028 }
00029
00030 TGo4ComSetDynamicEntry::TGo4ComSetDynamicEntry()
00031 :TGo4DynamicListCommand("ANSetDyn","Sets Dynamic Entry",0,0),fxEntryStatus(0)
00032 {
00033 TRACE((12,"TGo4ComSetDynamicEntry::TGo4ComSetDynamicEntry() ctor",__LINE__, __FILE__));
00034 SetProtection(kGo4ComModeController);
00035 }
00036
00037 TGo4ComSetDynamicEntry::~TGo4ComSetDynamicEntry()
00038 {
00039 TRACE((12,"TGo4ComSetDynamicEntry::~TGo4ComSetDynamicEntry() dtor",__LINE__, __FILE__));
00040 if(fxEntryStatus) delete fxEntryStatus;
00041 }
00042
00043 Int_t TGo4ComSetDynamicEntry::ExeCom()
00044 {
00045 TRACE((12,"TGo4ComSetDynamicEntry::ExeCom()",__LINE__, __FILE__));
00046
00047 Int_t rev=-2;
00048 TGo4AnalysisClient* cli=dynamic_cast<TGo4AnalysisClient*> (fxReceiverBase);
00049 if(cli)
00050 {
00051 TGo4Analysis* ana = TGo4Analysis::Instance();
00052 if(ana)
00053 {
00054 Bool_t result=ana->SetDynamicEntryStatus(GetEntryName(),GetEntryStatus(),GetListName());
00055 if(result)
00056 {
00057 cli->SendStatusMessage(1,kTRUE,"Set new status for entry %s of dynamic list %s.",
00058 GetEntryName(),
00059 GetListName());
00060 rev=0;
00061 }
00062 else
00063 {
00064 cli->SendStatusMessage(2,kTRUE,"Could not set status for entry %s of dynamic list %s !!!",
00065 GetEntryName(),
00066 GetListName());
00067 rev=1;
00068 }
00069 }
00070 else
00071 {
00072 cli->SendStatusMessage(3, kTRUE," %s ERROR no analysis",GetName());
00073 }
00074 }
00075 else
00076 {
00077 TRACE((11,"TGo4ComSetDynamicEntry::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
00078 TGo4Log::Debug(" !!! ComSetDynamicEntry '%s: NO RECEIVER ERROR!!!",GetName());
00079 rev=1;
00080 }
00081
00082 return rev;
00083 }
00084
00085 ClassImp(TGo4ComSetDynamicEntry)
00086
00087
00088
00089