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