00001 // $Id: TGo4ComExecLine.cxx 478 2009-10-29 12:26:09Z 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) 00042 { 00043 cli->SendStatusMessage(-1,kTRUE,"Executing: %s",GetLine()); 00044 cli->ExecuteString(GetLine()); 00045 cli->ExecuteString("Int_t res=fflush(stdout);"); 00046 return 0; 00047 } 00048 else 00049 { 00050 TGo4Log::Debug(" !!! ComExecLine ''%s'': NO RECEIVER ERROR!!!",GetName()); 00051 return 1; 00052 } 00053 00054 return -1; 00055 }