00001 // $Id: TGo4ComExecLine.cxx 1001 2013-07-25 15:10:31Z linev $ 00002 //----------------------------------------------------------------------- 00003 // The GSI Online Offline Object Oriented (Go4) Project 00004 // Experiment Data Processing at EE department, GSI 00005 //----------------------------------------------------------------------- 00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH 00007 // Planckstr. 1, 64291 Darmstadt, Germany 00008 // Contact: http://go4.gsi.de 00009 //----------------------------------------------------------------------- 00010 // This software can be used under the license agreements as stated 00011 // in Go4License.txt file which is part of the distribution. 00012 //----------------------------------------------------------------------- 00013 00014 #include "TGo4ComExecLine.h" 00015 00016 #include "TGo4Log.h" 00017 #include "TGo4Task.h" 00018 00019 TGo4ComExecLine::TGo4ComExecLine() : TGo4TaskHandlerCommand() 00020 { 00021 fbIsSynchron=kFALSE; 00022 SetName("THExec"); 00023 SetDescription("Execute line as CINT macro"); 00024 } 00025 00026 TGo4ComExecLine::TGo4ComExecLine(const char* macro) : TGo4TaskHandlerCommand() 00027 { 00028 fbIsSynchron=kFALSE; 00029 SetName("THExec"); 00030 SetDescription("Execute line as CINT macro"); 00031 SetLine(macro); 00032 } 00033 00034 TGo4ComExecLine::~TGo4ComExecLine() 00035 { 00036 } 00037 00038 Int_t TGo4ComExecLine::ExeCom() 00039 { 00040 TGo4Task* cli = dynamic_cast<TGo4Task*> (fxReceiverBase); 00041 if(cli==0) { 00042 TGo4Log::Debug(" !!! ComExecLine ''%s'': NO RECEIVER ERROR!!!",GetName()); 00043 return 1; 00044 } 00045 00046 cli->SendStatusMessage(-1,kTRUE, TString::Format("Executing: %s",GetLine())); 00047 cli->ExecuteString(GetLine()); 00048 cli->ExecuteString("Int_t res=fflush(stdout);"); 00049 return 0; 00050 }